Error: Can't Assign to Function Call

Error: Can't Assign to Function Call

我正在尝试制作一个简单的加法计算器,但遇到了问题。

print('welcome to calculator')      # Print opening message
print(' ')  #Spacer
int(sum1) = input('number') # Get input for first number, this variable later becomes the sum : ERROR: Can't assign to function call
int(add1) = input('number') # Get input for second number : Assumed error for this line as well
sum1 = sum1 + add1      # Add the variables together to get the sum
print(str(sum1))    # Change the sum to a string and print it
loop = 1    # Set loop to True
while loop == 1:    # Continue the program until user inputs add1 as '0'
    int(add1) = input('number')     # Get value for add1
    if add1 == 0:   # Stop the program when add1 is equal to 0
        loop = 0    # Set loop to false
        break
    sum1 = sum1 + add1  # Add the variables together to get the new sum
    print(str(sum1))    # Change the sum to a string and print it
print('done!')  # Print ending message

这里的错误在第三行(而且我假设第四行也会有错误)。我原来只有

sum1 = input('number')

但变量 sum1 被视为字符串,因此在第 5 行中,当添加变量 sum1 和 add1 时,它会将字符串添加到彼此的末尾。 (例如:15 + 10 = 1510)

我是不是在将变量转换为整数时做错了什么,或者这是解决问题的错误方法?

语句 int(sum1) = input('number') 无效,应为 sum1 = int(input('number')) 在第二种情况下,您将输入转换为 int - 这就是您想要的。在第一种情况下,你试图转换一个函数——Python 抱怨的是什么。

此外,您的代码中的所有地方都应该更改!

您正在尝试分配给 int() 函数调用的结果:

int(sum1) = input('number')

= 符号左侧的所有内容都应该是存储右侧产生的结果的目标,而您要求 Python 将某些内容存储在 int(sum1).

如果您想 input() 调用的结果 转换为整数,您需要将其应用于 return 的值input() 调用,而不是您存储该结果的变量:

sum1 = int(input('number'))

这同样适用于代码中的两种 add1 情况;使用:

add1 = int(input('number'))

现在右边的表达式产生一个整数结果,分别存储在sum1add1中。

您必须将其转换为整数,这是正确的方法;

x = int(input("something"))