我正在尝试制作一个简单的计算器来添加,并且遇到了问题。
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)
当我将变量转换为整数时,我做错了什么,或者这是错误的方法来解决问题?
答案 0 :(得分:4)
您正尝试分配int()
函数调用的结果:
int(sum1) = input('number')
=
符号左侧的所有内容都应该是存储右侧产生的结果的目标,并且您要求Python在int(sum1)
中存储内容。< / p>
如果您希望将<{1}}调用的结果转换为整数,则需要将其应用于input()
调用的返回值,而不是存储结果的变量:
input()
这同样适用于代码中的sum1 = int(input('number'))
个案例;使用方法:
add1
现在,右侧表达式产生一个整数结果,分别存储在add1 = int(input('number'))
和sum1
中。
答案 1 :(得分:0)
声明int(sum1) = input('number')
无效,应为sum1 = int(input('number'))
在第二种情况下,您将输入转换为int
- 这就是您想要的。在第一种情况下,您尝试投放功能 - Python
抱怨的是什么。
此外,您的代码应该随处更改!
答案 2 :(得分:0)
你必须将它转换为整数,这是正确的方法;
x = int(input("something"))