AslanG if flower_name[0] == 7:
Bu satırda tam sayıyı dizi olarak yorumluyorsunuz ama değil.
Çiçek ismi değişkeni dizi olmadığı için [] ile erişilemez.
AslanG if color_of_the_flower[-1] in [0,1,2,3]:
Burada da aynı hata var.
AslanG print(name + color + amount_of_flower)
Çiçek adedi tam sayı olduğu için yazdırırken dizgeye çevirmek gerekiyor.
Uygulamanın çalışır halini aşağıda bulabilirsiniz.
flower_name = int(input())
color_of_the_flower =int(input())
amount_of_flower = int(input())
if flower_name == 7:
name = "Red"
elif flower_name == 8:
name = "Tulip"
else:
name = "Orchid"
if color_of_the_flower in [0,1,2,3]:
color = "White"
elif color_of_the_flower in [4,5,6]:
color = "Pink"
else:
color = "Red"
if name == "Red" and amount_of_flower > 100:
print("Invalid!")
elif name == "Tulip" and amount_of_flower > 50:
print("Invalid!")
elif name == "Orchid" and amount_of_flower > 30:
print("Invalid!")
else:
print(name + color + str(amount_of_flower))
Tasarım olarak sınıf kullanmak da düşünülebilir.
Ayrı bir işlev girilen çiçek bilgilerini okuyabilir.
class Çiçek:
def __init__(self, isim : str, renk : str, boy : float):
self.isim = isim
self.renk = renk
self.boy = boy
papatya = Çiçek("Papatya", "Beyaz", 10.0)
print (papatya.isim)
print (papatya.renk)
print (papatya.boy)