İf Elif Else sorunu Python

Katılım
19 Ocak 2021
Mesajlar
210
Reaksiyon skoru
44
if(("ders_notu >= 50") and ("ortalama >= 50")):
print("sinifi geçtiniz")
elif(("ders_notu >= 50") and ("ortalama <= 50")):
print("ortalama yüzünden sinifta kaldiniz")
elif(("ders_notu <= 50") and ("ortalama >= 50")):
print("edebiyatdan kaldiğiniz için sinifta kaldiniz")
else("ders_notu <= 50") and ("ortalama >= 50")):

else de içeriye atmıyor program sebebi nedir hatam nerde ?
 
if(("ders_notu >= 50") and ("ortalama >= 50")):
print("sinifi geçtiniz")
elif(("ders_notu >= 50") and ("ortalama <= 50")):
print("ortalama yüzünden sinifta kaldiniz")
elif(("ders_notu <= 50") and ("ortalama >= 50")):
print("edebiyatdan kaldiğiniz için sinifta kaldiniz")
else("ders_notu <= 50") and ("ortalama >= 50")):

else de içeriye atmıyor program sebebi nedir hatam nerde ?
Mantık hatası var. Else diğer tüm ihtimallerin gerçekleşmediği durumda ne olacağıdır. Bu yüzden içine bir ihtimal koyamazsınız.
Örneğin:
Kod:
if (bu koşul gerçekleşirse)

çıktı

elseif (ilk if'deki koşul gerçekleşmezse bu koşulu dener)

çıktı

elseif (ilk elseif'deki koşul gerçekleşmezse bunu bu koşulu dener)

else // üstteki tüm ihtimaller gerçekleşmezse bu çıktıyı verir.

çıktı
 
if(("ders_notu >= 50") and ("ortalama >= 50")):
print("sinifi geçtiniz")
elif(("ders_notu >= 50") and ("ortalama <= 50")):
print("ortalama yüzünden sinifta kaldiniz")
elif(("ders_notu <= 50") and ("ortalama >= 50")):
print("edebiyatdan kaldiğiniz için sinifta kaldiniz")
else("ders_notu <= 50") and ("ortalama >= 50")):

else de içeriye atmıyor program sebebi nedir hatam nerde ?
python bilmiyorum fakat c# ve Javascript gibi dillerde else içerisine bir değer giremezsiniz. Belki de bu sebeple hata alıyorsunuzdur. En sondaki elseyi boş bırakmayı deneyin.
 
pyton bilmem c# biliyorum.
baktığımda 50 sayisi her iki koşulu sagliyor esittir atmışsın 49 buyuk isareti atarsan 50 ve uzeri saglanir. 50 kucuktur atarsan 49 ve alti olur. yani esittir attinca alttaki kodda 50 sayisinda sorun verebilir. kucuk esittir yerine sadece kucuk veya buyuk isareti atip dene. illa küçük eşittirli falan yapacaksan <=49 atman gerekiyor 50 dahil olamamalı. >=50 atarsan 50 ve üzeri olur. umarım açıklaya bilmişimdir
en alttaki else de yukardakiyle koşulla ayni hata verir en alttakini sil usttekini else yap. koşul aynı olunca zaten alta inmez
 
Son düzenleme:
if(("ders_notu >= 50") and ("ortalama >= 50")):
print("sinifi geçtiniz")
elif(("ders_notu >= 50") and ("ortalama <= 50")):
print("ortalama yüzünden sinifta kaldiniz")
elif(("ders_notu <= 50") and ("ortalama >= 50")):
print("edebiyatdan kaldiğiniz için sinifta kaldiniz")
else("ders_notu <= 50") and ("ortalama >= 50")):

else de içeriye atmıyor program sebebi nedir hatam nerde ?
İlk olarak if ve elif içinde bulunan koşullu ifadeleri tırnak içinde yazmışsınız.
İkinci olarak else nin içine koşul yazılmaz üstteki koşulların hiçbirisi sağlanmadığında otomatik çalışır.

Python:
if((ders_notu >= 50) and (ortalama >= 50)):
    print("sinifi geçtiniz")

elif((ders_notu >= 50) and (ortalama < 50)):
    print("ortalama yüzünden sinifta kaldiniz")

elif((ders_notu < 50) and (ortalama >= 50)):
    print("edebiyatdan kaldiğiniz için sinifta kaldiniz")

else:
    print("Dersinizin ve ortalamanızın düşüklüğü yüzünden sınıfta kaldınız")

Bu kodu dene
 
Geri
Top