Python kodundaki hata nedir?

Klawskay

Centipat
Katılım
25 Temmuz 2022
Mesajlar
2
Python:
from typing import NoReturn
from os import system

class calculator:
    def addition(numberOfNumbers=int):
        for x in range(numberOfNumbers):
            exec(f"number{x}=float")
        for x in range(numberOfNumbers):
            number[x]=float(input(f"Number{x}: "))
        for x in range(numberOfNumbers):
            number[x]+=__result__
        print(f"Result={__result__}")
        a=input()

    def subtraction():
        number1=float(input("Number 1: "))
        number2=float(input("Number 2: "))
        print("Result=",(number1-number2))
        a=input()

    def multiplication(numberOfNumbers=int):
        for x in range(numberOfNumbers):
            number[x]=float
            x+=1
        for x in range(numberOfNumbers):
            number[x]=int(input(f"Number{y}: "))
        for x in range(numberOfNumbers):
            number[x]+=__result__
        print(f"Result={__result__}")
        a=input()

    def division():
        number1=float(input("Number 1: "))
        number2=float(input("Number 2: "))
        print("Result=",(number1/number2))
        a=input()

while(True):
    system("cls")
    try:
        action=int(input("1: Addition\n2: Substraction\n3: Multiplication\n4: Division\n0: Exit\nAction: "))
        if(action==0):
            print("Action approved")
            break
        elif(action==1):
            num=float(input("Number of numbers: "))
            calculator.addition(num-1)
        elif(action==2):
            calculator.subtraction()
        elif(action==3):
            num=float(input("Number of numbers: "))
            calculator.multiplication(num-1)
        elif(action==4):
            calculator.division()
        else: NoReturn
    except TypeError:
        system("cls")
        raise("Error")
Sorun nedir?
 
Ne hatası veriyor onu da atabilir misiniz? Daha kolay tespit ederiz.
Screenshot_1.png


Buyur.
 
Kodcu değilim, hatan rakamsal değeri tanımlama şeklinden dolayı.

Float = 0.0
Int = 0

Koddaki float v.b yerleri int yap, 1 2 ve 4 çalışıyor web emulatorde, 3 multiplication değerinde gene line 23'de float varmış şimdi gördüm

1659438878489.png


Float değeri üzerinden yapacaksan koda float tanımlaman gerek Barışcan.
 
Arkadaşlar hatanı söylemiş, ama bir hatan daha var. En alttaki "raise("Error")" kısmını "raise Exception("Error")" olarak değiştirmelisin.
 

Geri
Yukarı