Python kodunda hata olduğu nasıl anlaşılır?

Yacherer

Decapat
Katılım
21 Mart 2023
Mesajlar
8
Daha fazla  
Cinsiyet
Erkek
Kod:
def Sayın( Ad):
    import time
    print("Sayın "+ Ad)
    time.sleep(2)
    print("Hoşgeldiniz saat "+time.asctime()+" size nasıl yardımcı olabilirim ? ")
def Borsa():
    import time
    print("Girebileceğiniz komutları yazıyorum")
    time.sleep(2)
    print("""
    Türk_Lirası-ABD_Doları
    ABD_Doları-Türk_Lirası
    Euro-Türk_Lirası
    Türk_Lirası-Euro
    ABD_Doları-Euro
    Euro-ABD_Doları
    """)
def Türk_Lirası_ABD_Doları():
    a=int(input("Ne kadar Türk Lirasına sahipsiniz ?")
    sonuc=a*0.052
    print("Alabileceğiniz ABD Doları miktarı = "+sonuc)
Ad=input("Adınız = ")
Sayın( Ad)
print("""
-Borsa
""")
komut=input("Karşılayabileceğim ihtiyaçlarınız yukarıda yazdım bunlardan birini seçin = ")
if komut==("Borsa"):
    Borsa()
    komutborsa=input("Birini seçin ve o başlığı hiçbir değişiklik yapmadan yazın = ")
    if komutborsa==("Türk_Lirası-ABD_Doları"):
          Türk_Lirası_ABD_Doları()
 
Son düzenleyen: Moderatör:
import time'ı her fonksiyonun altına yazmak yerine en üst satıra bir kere yazamayı denediniz mi. Konulara pek hakim değilim ama her def in altına yazılması doğru olmayabilir..
 
Herhangi bir IDE ya da Python debug edebilien bir metin editörü kullanabilirsin.
Visual Studio Code ya da pycharm iş görür.
 
Kod:
a=int(input("Ne kadar Türk Lirasına sahipsiniz ?"))
Şurada Hata Var
 
Python:
import time

def Sayın(ad):
    print("Sayın "+ ad)
    time.sleep(2)
    print("Hoşgeldiniz saat "+time.asctime()+" size nasıl yardımcı olabilirim ? ")

def Borsa():
    print("Girebileceğiniz komutları yazıyorum")
    time.sleep(2)
    print("""
    1 - Türk_Lirası-ABD_Doları
    2 - ABD_Doları-Türk_Lirası
    3 - Euro-Türk_Lirası
    4 - Türk_Lirası-Euro
    5 - ABD_Doları-Euro
    6 - Euro-ABD_Doları
    """)
def Türk_Lirası_ABD_Doları():
    while True:
        try:
            a=int(input("\nNe kadar Türk Lirasına sahipsiniz ?"))
            break
        except:
            print("Lütfen sayı girin!")
            continue
    sonuc=a*0.052
    print("Alabileceğiniz ABD Doları miktarı =", sonuc)
   
ad=input("Adınız nedir?: ")
Sayın(ad)

print("-Borsa")

komut=input("Karşılayabileceğim ihtiyaçlarınız yukarıda yazdım bunlardan birini seçin: ")

if komut== "Borsa":
    Borsa()
    while True:
        try:
            komutborsa=int(input("Gerçekleşmesini istediğiniz komut nedir? Sayı olarak giriniz. Örnek: 1\n : "))
            break
        except:
            print("Lütfen sayı giriniz.\n")
            continue
   
    if komutborsa== 1:
          Türk_Lirası_ABD_Doları()
    #burdan sonrasını else if komutborsa == 2-3-4 diye devam ettirirsin

Hata aldığın yerde parantezi kapatmamışsın, fark edersen "a =...." dediğin yerde bir parantez eksik sonda. Kodu düzenledim, sayı yerine string yani yazı karakteri girilirse hata vermeyecek, tekrardan sayı girmeni isteyecek. Ayrıca import'u ilk satırda yapsan yetiyor. Değişken tanımlarken de büyük harf kullanma, kafa karıştırabiliyor. Ayrıca fonksiyon isimlerini çok uzun ve karışık yapmışsın, gereksiz yorucu. Daha kısa ve öz kelimelerle yazmaya çalış, hız kazanırsın

Visual Studio Code kullanmanı da öneririm. Nerede eksiğin olduğunu gösterir
 

İki farklı hata türü var.
1)Syntax error: Kod çalıştırılmadan önce hata verir. Hatanın açıklaması yazar.
2)Logic error: Herhangi bir hata gösterilmez. Kodun çalışmadığını test yazarak ya da kodu gözlemleyerek anlayabilirsiniz. Gözlemleme aşamasını hızlandırmak için debugger kullanabilirsiniz.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…