Python 如果用户输入不是要求的字符串值的一部分,则默认输出

Python 如果用户输入不是要求的字符串值的一部分,则默认输出,python,input,calculator,Python,Input,Calculator,这是我不久前编写的一个代码,我想让它在默认情况下调用add函数,因此如果我只输入enter(或任何东西),它会问我要添加哪两个数字。 我试着把 else: num1 = float(input("Enter First Number: ")) num2 = float(input("Enter Second Number: ")) print(num1, "+", num2, "=", add(num1, num2)

这是我不久前编写的一个代码,我想让它在默认情况下调用add函数,因此如果我只输入enter(或任何东西),它会问我要添加哪两个数字。 我试着把

else:
num1 = float(input("Enter First Number: "))
num2 = float(input("Enter Second Number: "))
print(num1, "+", num2, "=", add(num1, num2))
但这是行不通的,任何帮助都将不胜感激!下面是完整的代码

import math as m
def add(x, y):
    return x + y

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

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

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

def power(x, y):
    return x ** y

def nroot(x, y):
    return x ** (1/y)

def sin(D):
    R = D / 180 * m.pi
    return(m.sin(R))
def cos(D):
    R = D / 180 * m.pi
    return(m.cos(R))

print("Select Operation.")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")
print("5. Exponent")
print("6. sin(Degrees)")
print("7. cos(Degrees)")

while True:
    # Take input from user
    choice = input("Enter Choice[1-7]: ")

    #check if choice is one of the four
    if choice in ('1', '2', '3', '4', '5'):
        num1 = float(input("Enter First Number: "))
        num2 = float(input("Enter Second Number: "))

    if choice == '1':
        print(num1, "+", num2, "=", add(num1, num2))
    elif choice == '2':
        print(num1, "-", num2, "=", subtract(num1, num2))
    elif choice == '3':
        print(num1, "*", num2, "=", multiply(num1, num2))
    elif choice == '4':
        print(num1, "/", num2, "=", divide(num1, num2))
    elif choice == '5':
        print(num1, "^", num2, "=", power(num1, num2))

    if choice in('6','7'):
        angle = float(input('Enter Angle in degrees: '))

    if choice =='6':
        print('sin(',angle,') = ',sin(angle))
    elif choice =='7':
        print('cos(',angle,') = ',cos(angle))
  
    break

这对我来说很好-

import math as m
def add(x, y):
    return x + y

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

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

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

def power(x, y):
    return x ** y

def nroot(x, y):
    return x ** (1/y)

def sin(D):
    R = D / 180 * m.pi
    return(m.sin(R))
def cos(D):
    R = D / 180 * m.pi
    return(m.cos(R))

print("Select Operation.")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")
print("5. Exponent")
print("6. sin(Degrees)")
print("7. cos(Degrees)")

while True:
    # Take input from user
    choice = input("Enter Choice[1-7]: ")

    #check if choice is one of the four
    if choice in ('1', '2', '3', '4', '5'):
        num1 = float(input("Enter First Number: "))
        num2 = float(input("Enter Second Number: "))
    # Update:
    else:
        num1 = float(input("Enter First Number: "))
        num2 = float(input("Enter Second Number: "))
        print(num1, "+", num2, "=", add(num1, num2))

    if choice == '1':
        print(num1, "+", num2, "=", add(num1, num2))
    elif choice == '2':
        print(num1, "-", num2, "=", subtract(num1, num2))
    elif choice == '3':
        print(num1, "*", num2, "=", multiply(num1, num2))
    elif choice == '4':
        print(num1, "/", num2, "=", divide(num1, num2))
    elif choice == '5':
        print(num1, "^", num2, "=", power(num1, num2))

    if choice in('6','7'):
        angle = float(input('Enter Angle in degrees: '))

    if choice =='6':
        print('sin(',angle,') = ',sin(angle))
    elif choice =='7':
        print('cos(',angle,') = ',cos(angle))
  
    break

如何选择
6
7
?不仅('1','2','3','4','5')中的
选择必须失败,
而且('6','7')中的
选择也必须失败才能默认为加法。这不起作用,可能是因为我使用的是Jupyter-Notebook?@Countour Integral我没有改变逻辑,刚刚回答了这个问题。@MathandPhysicsFun这不应该发生,你能试着使用其他编译器来确定吗?无意冒犯,只是说。但这不起作用。在这里工作意味着什么?如果选项不在
('1'、'2'、'3'、'4'、'5')内,是否希望默认情况下调用
add
?您还有
('6','7')
,因此是否要检查它们是否也不是
'6'
'7'
。请更清楚一点,默认值是什么意思?如果我只是输入enter(或任何东西),那么您总是希望调用
add
?你什么都没说。那为什么还要写其他的呢?