Çözüldü Kodundaki hata nedir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

lew4k

Decapat
Katılım
3 Mayıs 2022
Mesajlar
47
Daha fazla  
Cinsiyet
Erkek
1700675972450.png


Koda baktıysanız çıkarma yazdığımda önce çarpma sonra toplama işlemi yapıyor ve program duruyor.
 
Çözüm
Python:
if islem == islemler[0] or islemler[1]:

Or yazdıktan sonra sadece string vermişsin. En başta yazdığın islem == or'dan sonrasını kapsamaz. Tekrar yazman gerekir.

String true olur, if bloğu çalışır. Karşılaştırma yok.

Doğrusu:
Python:
if islem == islemler[0] or islem == islemler[1]:

Kodun geri kalanını da aynı şekilde düzenlemen gerekiyor.

Ayrıca büyük küçük harfini bu kadar kontrol etmek yerine string'in lowercase fonksiyonunu kullanabilirsin.

Python:
if islem.lower() == islemler[0].lower():
kullanici1 = ["Mehmet","mehmet"]
kullanici2 = ["Kerem","kerem"]
islemler = ["çarpma","Çarpma","Toplama","toplama","bölme","Bölme","çıkarma","Çıkarma"]
sifre = 123
giris1 = input("hangi kullanici ile işlem yapmak istiyorsunuz?")
if giris1==kullanici1 or kullanici2:
print("kullanıcı adı doğru")
giris2 = input("lütfen şifrenizi giriniz")
if sifre == giris2 or giris1:
print("hoşgeldiniz")
else:
print("şifreniz yanlış")
islem = input("hangi işlemi yapmak istiyorsunuz?")
if islem == islemler[0] or islemler[1]:
islem1 = int(input("lütfen 1. sayıyı giriniz"))
islem2 = int(input("lütfen 2. sayıyı giriniz"))
sonuc = islem1 * islem2
print("yapmak istediğiniz işlemin sonucu:",sonuc)
if islem == islemler[2] or islemler[3]:
islem1 = int(input("lütfen 1. sayıyı giriniz"))
islem2 = int(input("lütfen 2. sayıyı giriniz"))
sonuc = islem1 + islem2
print("yapmak istediğiniz işlemin sonucu:",sonuc)
elif islem == islemler[4] or islemler[5]:
islem1 = int(input("lütfen 1. sayıyı giriniz"))
islem2 = int(input("lütfen 2. sayıyı giriniz"))
sonuc = islem1 / islem2
print("yapmak istediğiniz işlemin sonucu:",sonuc)
elif islem == islemler[6] or islemler[7]:
islem1 = int(input("lütfen 1. sayıyı giriniz"))
islem2 = int(input("lütfen 2. sayıyı giriniz"))
sonuc = islem1 - islem2
print("yapmak istediğiniz işlemin sonucu:",sonuc)
 
Python:
if islem == islemler[0] or islemler[1]:

Or yazdıktan sonra sadece string vermişsin. En başta yazdığın islem == or'dan sonrasını kapsamaz. Tekrar yazman gerekir.

String true olur, if bloğu çalışır. Karşılaştırma yok.

Doğrusu:
Python:
if islem == islemler[0] or islem == islemler[1]:

Kodun geri kalanını da aynı şekilde düzenlemen gerekiyor.

Ayrıca büyük küçük harfini bu kadar kontrol etmek yerine string'in lowercase fonksiyonunu kullanabilirsin.

Python:
if islem.lower() == islemler[0].lower():
 
Çözüm
Python:
if islem == islemler[0] or islemler[1]:

Or yazdıktan sonra sadece string vermişsin. En başta yazdığın islem == or'dan sonrasını kapsamaz. Tekrar yazman gerekir.

String true olur, if bloğu çalışır. Karşılaştırma yok.

Doğrusu:
Python:
if islem == islemler[0] or islem == islemler[1]:

Kodun geri kalanını da aynı şekilde düzenlemen gerekiyor.

Ayrıca büyük küçük harfini bu kadar kontrol etmek yerine string'in lowercase fonksiyonunu kullanabilirsin.

Python:
if islem.lower() == islemler[0].lower():
Oldu teşekkürler.
 

Geri
Yukarı