Python 如果用户输入不是要求的字符串值的一部分,则默认输出
这是我不久前编写的一个代码,我想让它在默认情况下调用add函数,因此如果我只输入enter(或任何东西),它会问我要添加哪两个数字。 我试着把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)
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
?你什么都没说。那为什么还要写其他的呢?