Python'da if koşulu

Kodla Büyü

realxtraz

Aktif Üye
Mesajlar
129
sifre=input("Şifre giriniz..:")
if ("ç" or "ğ" or "ş") in sifre:
print("TR karakter bulunamaz.")
else:
print("Şifreniz geçerli")


Öğrencilerime if karar yapısı ile örnek yaptırırken istediğim probleme, bir öğrencimden böyle bir çözüm geldi. Sanki çalışır gibi geldi ancak çalışmıyor. parantez içindeki or ifadelerinden sadece bir tanesini kabul ediyor. Koşulu:
"ç" in sifre or "ğ" in şifre or "ş" in şifre
şeklinde değiştirdiğimde sorun yok.
Sebebini bilen var mıdır?
 
sifre=input("Şifre giriniz..:")
if ("ç" or "ğ" or "ş") in sifre:
print("TR karakter bulunamaz.")
else:
print("Şifreniz geçerli")

çalışıyor hocam...
 
Peki bende çalışmamasının sebebi nedir acaba. sadece "ç" harfi için TR karakter bulunamaz diyor örnegin sadece ğ veya ş harfi içeren şifrelerde geçerli çıktısı alıyorum.
 
hocam if şartında sunduğunuz harflerin sıralamasını değiştirip deneyince ne oluyor peki? mesela ğ ç'den önce şart olarak olunca?
 
Son düzenleme:
Hocam print ifadelerini satırın daha içerisinden başlatmak gerekiyor. Tab tuşu ile.
 
Hocam sizde problem yok bence , program çalışmıyor. Mesela çamaşır girdiğimizde ç'yi kabul edip tr karakter bulunamaz diyor, fakat şans yazdığımızda şifre geçerli diyor. Yani TAB tuşu ile alakalı değil.
 
OR 'da değerleri değişkene atamak zorunda olduğumuz için çalışmıyor diye tahmin ediyorum. Program döngü ile çalışıyor ama siz sadece yukarıdaki kodu sormak istediniz sanırım.
 
Her biri için ayrı in sifre demek gerekiyor evet, ama ben de merak ettim nedenini
 
Son düzenleme:
en başta hangi karakter varsa sadece ona bakıyor
 
Son düzenleme:
sifre=input("Şifre giriniz..:")
if "ç" in sifre or "ğ" in sifre or "ş" in sifre:
print("TR karakter bulunamaz.")
else:
print("Şifreniz geçerli")

hocam ilk kodta sadece ilk harfin (ç) şifrenin içinde olup olmadığını kontrol ediyor.,
in şifre yi ekleyince araya ve aynı satırda yazınca düzgün çalışıyor.
 
resim.png
 
Geri
Üst