Python中的计算器无法打印出我想要的结果

时间:2016-07-21 16:05:55

标签: python

我想用Python创建这个计算器,打印出来时遇到了一些问题。问题是我每次运行程序时都会打印出来检查错误。当我删除它时,它开始打印出我放在一起的数字。例如1 + 2 = 12或2 + 5 = 25等。这件事只发生在我试图添加两个数字时,当我尝试相乘,减去或除以它时没有打印出任何东西。这是我的代码:

print ("Enter your first number")
num1 = input()
print("Enter your second number") 
num2 = input()
print("Enter operation")
operation = input()
if operation is "+":
print(num1 + num2)
elif operation is "*":
print(num1 * num2)
elif operation is "/":
print(num1 / num2)
elif operation is "-":
print(num1 - num2)
else:
print("Check for errors")

3 个答案:

答案 0 :(得分:0)

我认为您希望使用==而不是is来比较字符串文字和变量。我希望你的用法总是返回false。

答案 1 :(得分:0)

@Fjoni Yzeiri:大家好,

这是从Python开始的常见问题,因为您没有声明输入的变量类型,它会将其保存为String,因此如果您连接(+在Python中)它将连接两个输入。

要解决此问题,您必须将此值显式转换为Integers,这意味着:

print ("Enter your first number")
num1 = int(input()) # Cast to int here
print("Enter your second number") 
num2 = int(input()) # Cast to int here
print("Enter operation")
operation = input()
if operation is "+":
print(num1 + num2)
elif operation is "*":
print(num1 * num2)
elif operation is "/":
print(num1 / num2)
elif operation is "-":
print(num1 - num2)
else:
print("Check for errors")

当然,这是一个非常简单的用例,如果你想学习更多,尝试在尝试转换非整数字符串时捕获异常。它会教你很好的东西;)

答案 2 :(得分:0)

问题现在解决了。有人发布了答案,但我认为他删除了它,我无法支持它。我需要改变

num1 = input()

num1 = int(input())