我想用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")
答案 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())