# This function adds two numbers
def add(x, y):
return x + y
# This function subtracts two numbers
def subtract(x, y):
return x - y
# This function multiplies two numbers
def multiply(x, y):
return x * y
# This function divides two numbers
def divide(x, y):
return x / y
print("Select operation.")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")
# Take input from the user
choice = input("Enter choice(1/2/3/4):")
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
if choice == '1':
print(num1,"+",num2,"=", add(num1,num2))
您好,
您好, 嗨,下面是一个简单的计算器python代码,输出似乎没有预期的 elif选择==' 2': print(num1," - ",num2," =",减法(num1,num2))
elif choice == '3':
print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == '4':
print(num1,"/",num2,"=", divide(num1,num2))
else:
print("Invalid input")
答案 0 :(得分:2)
您的帖子中遗漏了您遇到的具体问题,但是运行代码并沿途输入整数确实总是落在最后else
块和"无效输入&# 34;错误信息。
我猜你正在运行Python 2,在这种情况下,问题源于你将choice
的值与字符串进行比较,但是input()
函数将返回一个int(如果那是用户键入的内容)。
要解决此问题,您可以更改if
块以将choice
与整数进行比较,或使用始终返回字符串的raw_input()
函数。
答案 1 :(得分:1)
问题是int(input("Enter first number: "))
输入转换为int
,但您将str
与choice == '1'
进行比较。