Python Yazılan kod çalışmıyor

Rat King

Picopat
Katılım
22 Haziran 2023
Mesajlar
86
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Herkese iyi sosyaller ve iyi akşamlar. Visual Studio Code'de çalışırken aşağıdaki kodum çalışmadı, sebebini söyleyebilir misiniz?

Python:
kucuk_boy_pizza=25
orta_boy_pizza=30
buyuk_boy_pizza=35
pizza_boyutu=input("Pizzanız hangi boy olsun, küçük boy 25 TL, orta boy 30 TL, büyük boy ise 35 TL'dir:")
icecek=input("Yanında bir içecek ister misiniz? E/H şeklinde cevaplayınız:")
peynir=input("Yanında peynir ister misiniz? E/H şeklinde cevaplayınız:")
if pizza_boyutu=="küçük" or "Küçük" or "küçük boy" or "Küçük Boy" and icecek=='E' and peynir=='E':
 print ("Sipariş tutarınız," ,kucuk_boy_pizza+2+2, "TL'dır.")
elif pizza_boyutu=="orta" or "Orta" or "Orta boy" or "Orta Boy" and icecek=='E' and peynir=='E':
 print ("Sipariş tutarınız,",orta_boy_pizza+2+3, "TL'dır.")
elif pizza_boyutu=="büyük" or "Büyük" or "Büyük Boy" or "büyük boy" and icecek=='E' and peynir=='E':
 print ("Sipariş tutarınız," ,buyuk_boy_pizza+2+4, "TL'dır.")
elif pizza_boyutu=="küçük" or "Küçük" or "Küçük Boy" or "küçük boy" and icecek=='H' and peynir=='E':
 print("Sipariş tutarınız," ,kucuk_boy_pizza+2, "TL'dır.")
elif pizza_boyutu=="küçük" or "Küçük" or "küçük boy" or "Küçük Boy" and icecek=='H' and peynir =='H':
 print ("Sipariş tutarınız," ,kucuk_boy_pizza, "dır.")
elif pizza_boyutu=="orta" or "Orta" or "orta boy" or "Orta Boy" and icecek=='H' and peynir=='E':
 print ("Sipariş tutarınız," ,orta_boy_pizza+3, "TL'dir.")
elif pizza_boyutu=="orta" or "Orta" or "orta boy" or "Orta Boy" and icecek=='E' and peynir=='H':
 print ("Sipariş tutarınız," ,orta_boy_pizza+2, "TL'dir.")
elif pizza_boyutu=="orta" or "Orta" or "orta boy" or "Orta Boy" and icecek=='H' and peynir=='H' :
 print ("Sipariş tutarınız," ,orta_boy_pizza, "TL'dir.")
elif pizza_boyutu=="büyük" or "Büyük" or "Büyük Boy" or "büyük boy" and icecek=='H' and peynir=='E' :
 print ("Sipariş tutarınız," ,buyuk_boy_pizza+4, "TL'dir.")
elif pizza_boyutu=="büyük" or "Büyük" or "Büyük Boy" or "büyük boy" and icecek=='E' and peynir=='H' :
 print ("Sipariş tutarınız," ,buyuk_boy_pizza+2, "TL'dir.")
else:
 print ("Sipariş tutarınız," ,buyuk_boy_pizza, "TL'dir.")

Kod bu şekildedir, şimdiden cevaplayan herkese teşekkür ederim.
 
Ekran Görüntüsü - 2024-03-03 17-56-54.png


Çalışmayan kısmı anlayamadım.
 
Ben çalıştırabildim direkt bu kodu. Bu arada bunları tek tek hesaplamana gerek yok. tutar diye bir değişken açıp seçeneğin tutarını ona eklersen çok daha kısa bir şekilde sonuca varırsın.
 
Ben çalıştırabildim direkt bu kodu. Bu arada bunları tek tek hesaplamana gerek yok. tutar diye bir değişken açıp seçeneğin tutarını ona eklersen çok daha kısa bir şekilde sonuca varırsın.

Sanırım anladım ama kod ile ilgili hatayı anladım. İf kısımlarında or ve and aynı anda kullanılıyor.
 
Python:
kucuk_boy_pizza = 25
orta_boy_pizza = 30
buyuk_boy_pizza = 35

pizza_boyutu = input("Pizzanız hangi boy olsun? Küçük boy 25 TL, orta boy 30 TL, büyük boy ise 35 TL'dir: ").lower()
icecek = input("Yanında bir içecek ister misiniz? (E/H): ").upper()
peynir = input("Yanında peynir ister misiniz? (E/H): ").upper()

if pizza_boyutu == "küçük" and icecek == 'E' and peynir == 'E':
    print("Sipariş tutarınız,", kucuk_boy_pizza + 2 + 2, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'E' and peynir == 'E':
    print("Sipariş tutarınız,", orta_boy_pizza + 2 + 3, "TL'dir.")
elif pizza_boyutu == "büyük" and icecek == 'E' and peynir == 'E':
    print("Sipariş tutarınız,", buyuk_boy_pizza + 2 + 4, "TL'dir.")
elif pizza_boyutu == "küçük" and icecek == 'H' and peynir == 'E':
    print("Sipariş tutarınız,", kucuk_boy_pizza + 2, "TL'dir.")
elif pizza_boyutu == "küçük" and icecek == 'H' and peynir == 'H':
    print("Sipariş tutarınız,", kucuk_boy_pizza, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'H' and peynir == 'E':
    print("Sipariş tutarınız,", orta_boy_pizza + 3, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'E' and peynir == 'H':
    print("Sipariş tutarınız,", orta_boy_pizza + 2, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'H' and peynir == 'H':
    print("Sipariş tutarınız,", orta_boy_pizza, "TL'dir.")
elif pizza_boyutu == "büyük" and icecek == 'H' and peynir == 'E':
    print("Sipariş tutarınız,", buyuk_boy_pizza + 4, "TL'dir.")
elif pizza_boyutu == "büyük" and icecek == 'E' and peynir == 'H':
    print("Sipariş tutarınız,", buyuk_boy_pizza + 2, "TL'dir.")
else:
    print("Sipariş tutarınız,", buyuk_boy_pizza, "TL'dir.")
Herkese iyi sosyaller ve iyi akşamlar. Visual Studio Code'de çalışırken aşağıdaki kodum çalışmadı, sebebini söyleyebilir misiniz?

Python:
kucuk_boy_pizza=25
orta_boy_pizza=30
buyuk_boy_pizza=35
pizza_boyutu=input("Pizzanız hangi boy olsun, küçük boy 25 TL, orta boy 30 TL, büyük boy ise 35 TL'dir:")
icecek=input("Yanında bir içecek ister misiniz? E/H şeklinde cevaplayınız:")
peynir=input("Yanında peynir ister misiniz? E/H şeklinde cevaplayınız:")
if pizza_boyutu=="küçük" or "Küçük" or "küçük boy" or "Küçük Boy" and icecek=='E' and peynir=='E':
 print ("Sipariş tutarınız," ,kucuk_boy_pizza+2+2, "TL'dır.")
elif pizza_boyutu=="orta" or "Orta" or "Orta boy" or "Orta Boy" and icecek=='E' and peynir=='E':
 print ("Sipariş tutarınız,",orta_boy_pizza+2+3, "TL'dır.")
elif pizza_boyutu=="büyük" or "Büyük" or "Büyük Boy" or "büyük boy" and icecek=='E' and peynir=='E':
 print ("Sipariş tutarınız," ,buyuk_boy_pizza+2+4, "TL'dır.")
elif pizza_boyutu=="küçük" or "Küçük" or "Küçük Boy" or "küçük boy" and icecek=='H' and peynir=='E':
 print("Sipariş tutarınız," ,kucuk_boy_pizza+2, "TL'dır.")
elif pizza_boyutu=="küçük" or "Küçük" or "küçük boy" or "Küçük Boy" and icecek=='H' and peynir =='H':
 print ("Sipariş tutarınız," ,kucuk_boy_pizza, "dır.")
elif pizza_boyutu=="orta" or "Orta" or "orta boy" or "Orta Boy" and icecek=='H' and peynir=='E':
 print ("Sipariş tutarınız," ,orta_boy_pizza+3, "TL'dir.")
elif pizza_boyutu=="orta" or "Orta" or "orta boy" or "Orta Boy" and icecek=='E' and peynir=='H':
 print ("Sipariş tutarınız," ,orta_boy_pizza+2, "TL'dir.")
elif pizza_boyutu=="orta" or "Orta" or "orta boy" or "Orta Boy" and icecek=='H' and peynir=='H' :
 print ("Sipariş tutarınız," ,orta_boy_pizza, "TL'dir.")
elif pizza_boyutu=="büyük" or "Büyük" or "Büyük Boy" or "büyük boy" and icecek=='H' and peynir=='E' :
 print ("Sipariş tutarınız," ,buyuk_boy_pizza+4, "TL'dir.")
elif pizza_boyutu=="büyük" or "Büyük" or "Büyük Boy" or "büyük boy" and icecek=='E' and peynir=='H' :
 print ("Sipariş tutarınız," ,buyuk_boy_pizza+2, "TL'dir.")
else:
 print ("Sipariş tutarınız," ,buyuk_boy_pizza, "TL'dir.")

Kod bu şekildedir, şimdiden cevaplayan herkese teşekkür ederim.
Kurduğunuz kontroller hatalıydı bulduğum hatalar:
if pizza_boyutu=="küçük" or "Küçük" or "küçük boy" or "Küçük Boy" gibi ifade, her zaman True değer döndürür . Her bir koşulu ayrı ayrı kontrol etmeliyiz.

Koşulları doğru karşılaştırmak için pizza_boyutu.lower() kullanımı yapmamışsınız. Bu nedenle kullanıcı büyük harfle yazsa bile doğru sonuç alınamazdı.

"E" ve "H" stringlerini karşılaştırırken büyük harf küçük harf duyarlılığı gözetilmiyordu.
Python:
kucuk_boy_pizza = 25
orta_boy_pizza = 30
buyuk_boy_pizza = 35

pizza_boyutu = input("Pizzanız hangi boy olsun? Küçük boy 25 TL, orta boy 30 TL, büyük boy ise 35 TL'dir: ").lower()
icecek = input("Yanında bir içecek ister misiniz? (E/H): ").upper()
peynir = input("Yanında peynir ister misiniz? (E/H): ").upper()

if pizza_boyutu == "küçük" and icecek == 'E' and peynir == 'E':
    print("Sipariş tutarınız,", kucuk_boy_pizza + 2 + 2, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'E' and peynir == 'E':
    print("Sipariş tutarınız,", orta_boy_pizza + 2 + 3, "TL'dir.")
elif pizza_boyutu == "büyük" and icecek == 'E' and peynir == 'E':
    print("Sipariş tutarınız,", buyuk_boy_pizza + 2 + 4, "TL'dir.")
elif pizza_boyutu == "küçük" and icecek == 'H' and peynir == 'E':
    print("Sipariş tutarınız,", kucuk_boy_pizza + 2, "TL'dir.")
elif pizza_boyutu == "küçük" and icecek == 'H' and peynir == 'H':
    print("Sipariş tutarınız,", kucuk_boy_pizza, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'H' and peynir == 'E':
    print("Sipariş tutarınız,", orta_boy_pizza + 3, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'E' and peynir == 'H':
    print("Sipariş tutarınız,", orta_boy_pizza + 2, "TL'dir.")
elif pizza_boyutu == "orta" and icecek == 'H' and peynir == 'H':
    print("Sipariş tutarınız,", orta_boy_pizza, "TL'dir.")
elif pizza_boyutu == "büyük" and icecek == 'H' and peynir == 'E':
    print("Sipariş tutarınız,", buyuk_boy_pizza + 4, "TL'dir.")
elif pizza_boyutu == "büyük" and icecek == 'E' and peynir == 'H':
    print("Sipariş tutarınız,", buyuk_boy_pizza + 2, "TL'dir.")
else:
    print("Sipariş tutarınız,", buyuk_boy_pizza, "TL'dir.")
 
Önceki mesajımda kastettiğim:
Python:
kucuk_boy_pizza = 25
orta_boy_pizza = 30
buyuk_boy_pizza = 35
icecek = 2
tutar = 0
pizzaSecim = int(input(
    "Pizzanız hangi boy olsun, küçük (0) boy 25 TL, orta (1) boy 30 TL, büyük (2) boy ise 35 TL'dir:"))
icecekSecim = bool(input(
    "Yanında bir içecek ister misiniz? 0/1 şeklinde cevaplayınız:"))
peynirSecim = bool(
    input("Yanında peynir ister misiniz? 0/1 şeklinde cevaplayınız:"))
if pizzaSecim == 0:
    tutar += kucuk_boy_pizza
    if peynirSecim == True:
        tutar += 2
elif pizzaSecim == 1:
    tutar += orta_boy_pizza
    if peynirSecim == True:
        tutar += 3
elif pizzaSecim == 2:
    tutar += buyuk_boy_pizza
    if peynirSecim == True:
        tutar += 4
if icecekSecim == True:
    tutar += icecek
 

Yeni konular

Geri
Yukarı