错误:无法分配给函数C

2024-09-30 02:28:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着做一个简单的加法计算器,遇到了一个问题。

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)

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


Tags: thetoloopnumbermessageforinputget
3条回答

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

同样,这应该在你的代码中的任何地方被改变!

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

int(sum1) = input('number')

=符号左侧的所有内容都应该是存储右侧生成的结果的目标,您要求Python在int(sum1)中存储一些内容。

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

sum1 = int(input('number'))

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

add1 = int(input('number'))

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

你必须把它转换成整数,这是正确的方法

x = int(input("something"))

相关问题 更多 >

    热门问题