我在python中创建了一个简单的计算器程序,输出似乎让我烦恼

时间:2017-09-06 05:56:01

标签: python

# 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")

2 个答案:

答案 0 :(得分:2)

您的帖子中遗漏了您遇到的具体问题,但是运行代码并沿途输入整数确实总是落在最后else块和"无效输入&# 34;错误信息。

我猜你正在运行Python 2,在这种情况下,问题源于你将choice的值与字符串进行比较,但是input()函数将返回一个int(如果那是用户键入的内容)。

要解决此问题,您可以更改if块以将choice与整数进行比较,或使用始终返回字符串的raw_input()函数。

答案 1 :(得分:1)

问题是int(input("Enter first number: "))输入转换为int,但您将strchoice == '1'进行比较。