2016-09-15 31 views
0

我正在做一個非常簡單的計算器,因爲我很無聊,但由於某種原因,它錯誤與'不能分配給函數調用'。 這是代碼:不能分配給函數調用,但代碼似乎是正確的

type=input("Please select a method.\n\n1.) Addition\n2.) Subtraction\n3.) Multiplication\n4.) Division\n\n") 
if type == "1": 
    int(number1)=input("First number?") 
    int(number2)=input("Second number?") 
    answer=number1+number2 
    print ("The answer is " +answer +".") 
if type == "2": 
    int(number1)=input("First number?") 
    int(number2)=input("Second number?") 
    answer=number1-number2 
    print ("The answer is " +answer +".") 
if type == "3": 
    int(number1)=input("First number?") 
    int(number2)=input("Second number?") 
    answer=number1*number2 
    print ("The answer is " +answer +".") 
if type == "4": 
    int(number1)=input("First number?") 
    int(number2)=input("Second number?") 
    answer=number1/number2 
    print ("The answer is " +answer +".") 
else: 
    print("Pick a number from 1-4") 

我覺得這是非常明顯的,我只是一個白癡。

+0

你需要調用'int'在'input'調用不是變量名 – elethan

+0

是不是'鍵入'一個保留字,因此應該避免作爲一個變量名? – boardrider

回答

0

您在錯誤的時間將變量轉換爲int。您需要將給定的輸入轉換爲整數,而不是在爲您提供字符串值之前將該變量轉換爲整數。

所有與int(number1)=input("First number?")類似的實例需要更改爲number1 = int(input("First number?"))

這被稱爲precedence

2

您需要輸入字符串轉換爲int,而不是變量是越來越分配到:

if type == "1": 
    number1=int(input("First number?")) 
    number2=int(input("Second number?")) 
    answer=number1+number2