cevaplar = "A) 7\nB) 5\nC) 2"
cevap = "7" and "a" and "A"
print(soru)
print(cevaplar)
k_cevap = input("Cevabınız nedir?")
if k_cevap == cevap:
print("Cevabınız doğrudur :-)")
else:
print("Cevabınız yanlıştır!")
Böyle bişey deniyorum bugün de
Lakin cevap değişkenine nasıl birden fazla değer atayabilirim ve büyük/küçük farketmez hale getirebilirim.
Mesela cevap A, sonucu ise 7
Kişi 7 yazarsa da, A yazarsa da, a yazarsa da kabul edecek
Bunu nasıl yapabilirim? Umarım doğru düzgün anlatabilmişimdir
Öncelikle and mantıksal bağlacının koşul ifadelerinde boolean değerleri kontrol etmek amacıyla kullanıldığını belirtmek isterim.
Yani:
a = 5
if a == 5 and a != 123:
#True #True
print("Koşul çalıştı")
İkisi de True döndürdüğü için blok çalıştı ve göreceğin üzere boolean değerlerin True olup olmadığını kontrol etti…
Şimdi de buna değineyim.
Bir karakter dizisinden ziyade liste oluştursanız daha iyi olur.
Yani: cevap = ["7", "a", "A"]
ve bu oluşturduğumuz listeyi bu koşulda şu şekilde kullanabiliriz:
if k_cevap in cevap:
print("Cevabınız doğrudur :-)")
Bu if bloğunda kullanıcıdan gelen cevabın listemiz içerisinde bulunup bulunmadığını sorgulamış oluyoruz. Kullancının verisi "7", "a" ya da "A"ya eşitse bu blok çalışacaktır.
karakter dizilerinin lower() metodunu araştırınız.
“Liste kullanmak istemiyorum” diyorsanız karakter dizilerinin split() metodunu araştırınız.
İş yine listelere kayıyor ama neticede değişkeninizde bir karakter dizisi tanımlamış olursunuz
hocam belki biliyorsunuzdur da ama lafı gelmişken belirtmek istedim
and ve or operatörleri değişken atamada da kullanabiliriz yani x = 0 or "elma"
şeklinde yazılan bir atama ilk değişken varsa ilk değişkeni yoksa sonraki değişkeni atayacaktır.
bu kod için de 0 false olduğu için x ’ e “elma” değeri atanır