我正试着做一个简单的加法计算器,遇到了一个问题。
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()
函数调用的结果:=
符号左侧的所有内容都应该是存储右侧生成的结果的目标,您要求Python在int(sum1)
中存储一些内容。如果要将
input()
调用的结果转换为整数,则需要将其应用于input()
调用的返回值,而不是存储该结果的变量:这同样适用于代码中的两种情况;使用:
现在,右边的表达式产生一个整数结果,分别存储在
sum1
和add1
中。你必须把它转换成整数,这是正确的方法
相关问题 更多 >
编程相关推荐