Python 基本计算器程序没有 return 答案

Python basic Calculator program doesn't return answer

所以我想弄清楚如何用我在 python 中学到的东西制作一个计算器,但我无法让它给我一个答案。

这是我目前的代码:

def add(x, y):
    return x + y

def subtract (x, y):
    return x - y


def divide (x, y):
    return x / y


def multiply (x, y):
    return x / y


print("What calculation would you like to make?")
print("Add")
print("Subtract")
print("Divide")
print("Multiply")


choice = input("Enter choice (add/subtract/divide/multiply)\n")


num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))        

if choice == ("add, Add"):
    print(add(num1,num2))

elif choice == ("subtract, Subtract"):
    print(subtract(num1,num2))

elif choice == ("divide, Divide"):
    print(divide(num1,num2))

elif choice == ("multiply, Multiply"):
    print(multiply(num1,num2))`

而不是:

choice == ("add, Add")

你想要:

choice in ["add", "Add"]

或更有可能:

choice.lower() == "add"

为什么?您正在尝试检查选择输入是否等于代码中的元组 ("add, Add"),这不是您想要的。相反,您想要检查选择输入是否在列表 ["add"、"Add"] 中。或者,处理此输入的更好方法是将输入小写并将其与您想要的字符串进行比较。

我有一个非常基本的计算器。你可以尝试,这样你就可以从中学习。而 True:

firstNum = int(input('first number'))
op = input('enter operation')
secondNum = int(input('second number'))

if op == '-':
    print(firstNum - secondNum)
elif op == '+':
    print(firstNum + secondNum)
elif op == '*':
    print(firstNum * secondNum)
elif op == '/':
    print(firstNum / secondNum)
else:
    print('ERROR, You must enter an operation.')