Python kodundaki hata nedir?

Sydatolo

Hectopat
Katılım
30 Nisan 2021
Mesajlar
220
Makaleler
1
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Python:
from random import randrange
from os import system
from time import sleep
from typing import NoReturn
system("title Rastgele İşlem")
def process(__type__):
    try:
        digitNumber=int(input("Basamak sayısı: "))
    except TypeError: NoReturn
    number1=randrange(10**digitNumber,(10**(digitNumber+1))-1)
    if(__type__=="/"):
        number2=int
        result=int
        while(True):
            number2=randrange(1,number2/2)
            if(number1%number2!=0):
                continue
            else:
                break
        while(True):
            system("cls")
            try:
                result=int(input(number1," / ",number2," = "))
            except TypeError: NoReturn
            if(result==number1/number2):
                print("Doğru!")
                sleep(1)
                break
            else:
                print("Yanlış!")
                sleep(1)
    elif(__type__=="+"):
        try:
            digitNumber=int(input("Basamak sayısı: "))
        except TypeError: NoReturn
        number1=randrange(10**digitNumber,(10**(digitNumber+1))-1)
        number2=randrange(10**digitNumber,(10**(digitNumber+1))-1)
        result=int
        while(True):
            system("cls")
            try:
                result=int(input(number1," + ",number2," = "))
            except TypeError: NoReturn
            if(result==number1+number2):
                print("Doğru!")
                sleep(1)
                break
            else:
                print("Yanlış!")
                sleep(1)
    elif(__type__=="-"):
        try:
            digitNumber=int(input("Basamak sayısı: "))
        except TypeError: NoReturn
        number1=randrange(10**digitNumber,(10**(digitNumber+1))-1)
        number2=randrange(10**digitNumber,(10**(digitNumber+1))-1)
        result=int
        while(True):
            system("cls")
            try:
                result=int(input(number1," - ",number2," = "))
            except TypeError: NoReturn
            if(result==number1-number2):
                print("Doğru!")
                sleep(1)
                break
            else:
                print("Yanlış!")
                sleep(1)
    elif(__type__=="*"):
        try:
            digitNumber=int(input("Basamak sayısı: "))
        except TypeError: NoReturn
        number1=randrange(10**digitNumber,(10**(digitNumber+1))-1)
        number2=randrange(10**digitNumber,(10**(digitNumber+1))-1)
        result=int
        while(True):
            system("cls")
            try:
                result=int(input(number1," x ",number2," = "))
            except TypeError: NoReturn
            if(result==number1*number2):
                print("Doğru!")
                sleep(1)
                break
            else:
                print("Yanlış!")
                sleep(1)
while(True):
    system("cls")
    while(True):
        system("cls")
        typeOperation=str(input(("Çıkış: 0\nToplama: 1\nÇıkarma: 2\nÇarpma: 3\nBölme: 4\nİşlem türü: ")))
        if(typeOperation=="0" or typeOperation!="1" or "2" or "3" or "4"): NoReturn
        if(typeOperation=="1"):
            process("+")
        elif(typeOperation=="2"):
            process("-")
        elif(typeOperation=="3"):
            process("*")
        elif(typeOperation=="4"):
            process("/")
Python kodundaki hata nedir?
 

Hangi IDE kullanıyorsun. Python'da hatanın hangi satırda olduğunu gösteriyor diye biliyorum.
 
Hocam böyle atraksiyona girmek yerine daha insancıl şekilde koşul ifadeleriyle yapsanız daha iyiydi bence. Hata ayıklama ayağına algoritma çorbaya dönmüş. True değeri verilen while döngülerinin yanlış ifadesini döndüreceği yerde break ile döngü kırılmamış ve döngü bu sebeple kendini tekrar ediyor.

Hangi IDE kullanıyorsun. Python'da hatanın hangi satırda olduğunu gösteriyor diye biliyorum.

Hata vermiyor kod. Sorun çalışmamada değil sorun programda bug oluşmasında.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…