Python 当条件为false时,为什么打印最后一个if语句
为什么当if语句为false时打印“Invalid Operator”?我可以使用elif语句使其工作吗Python 当条件为false时,为什么打印最后一个if语句,python,Python,为什么当if语句为false时打印“Invalid Operator”?我可以使用elif语句使其工作吗 num1 = float(input("Enter the first number: ")) operator = input("Enter your operator here: ") num2 = float(input("Enter your second number here: ")) if operator ==
num1 = float(input("Enter the first number: "))
operator = input("Enter your operator here: ")
num2 = float(input("Enter your second number here: "))
if operator == "+":
print(num1 + num2)
if operator == "-":
print(num1 - num2)
if operator == "*":
print(num1 * num2)
if operator == "/":
print(num1 / num2)
if operator != ("+", "-", "*", "/"):
print("Invalid Operator.")
您正在将
运算符
与元组进行比较。相反,您可以检查元组中是否有运算符
,如下所示:
if operator not in ("+", "-", "*", "/"):
print("Invalid Operator.")
您正在将
运算符
与元组进行比较。相反,您可以检查元组中是否有运算符
,如下所示:
if operator not in ("+", "-", "*", "/"):
print("Invalid Operator.")
另一种选择是
elif
s:
if operator == "+":
print(num1 + num2)
elif operator == "-":
print(num1 - num2)
elif operator == "*":
print(num1 * num2)
elif operator == "/":
print(num1 / num2)
else:
print("Invalid Operator.")
这样,当您添加一个新的操作符时,您不需要修改不处于(…)状态的
。替代方法是elif
s:
if operator == "+":
print(num1 + num2)
elif operator == "-":
print(num1 - num2)
elif operator == "*":
print(num1 * num2)
elif operator == "/":
print(num1 / num2)
else:
print("Invalid Operator.")
这样,当您添加一个新操作符时,您不需要修改不在(…)
状态。最后一个if语句不正确。现在它检查它是否等于整个元组。您可以检查操作员是否不在列表中
num1 = float(input("Enter the first number: "))
operator = input("Enter your operator here: ")
num2 = float(input("Enter your second number here: "))
if operator == "+":
print(num1 + num2)
if operator == "-":
print(num1 - num2)
if operator == "*":
print(num1 * num2)
if operator == "/":
print(num1 / num2)
if operator not in ("+", "-", "*", "/"):
print("Invalid Operator.")
另一种选择是使用elif和else。如果它不是第一个for选项,那么in将是一个无效的运算符(else)
编辑:如果不在…
中,则将从列表更改为元组。元组在这种情况下更有效。最后一个if语句不正确。现在它检查它是否等于整个元组。您可以检查操作员是否不在列表中
num1 = float(input("Enter the first number: "))
operator = input("Enter your operator here: ")
num2 = float(input("Enter your second number here: "))
if operator == "+":
print(num1 + num2)
if operator == "-":
print(num1 - num2)
if operator == "*":
print(num1 * num2)
if operator == "/":
print(num1 / num2)
if operator not in ("+", "-", "*", "/"):
print("Invalid Operator.")
另一种选择是使用elif和else。如果它不是第一个for选项,那么in将是一个无效的运算符(else)
编辑:如果不在…
中,则将从列表更改为元组。在这种情况下,元组更有效
其中,运算符
是一个字符串对象,其中as(“+”、“-”、“*”、“/”)是一个元组,因此两者不相等,因此上述条件将导致为真
,如果执行块
,则最后一个。
可以使用if/elif/else语句,也可以像这样正确地更改最后一个条件
operator not in ("+", "-", "*", "/") # itemwise ckech takeplace
operator not in "+-*/" # string is also a iterable object
其中,运算符
是一个字符串对象,其中as(“+”、“-”、“*”、“/”)是一个元组,因此两者不相等,因此上述条件将导致为真
,如果执行块
,则最后一个。
可以使用if/elif/else语句,也可以像这样正确地更改最后一个条件
operator not in ("+", "-", "*", "/") # itemwise ckech takeplace
operator not in "+-*/" # string is also a iterable object
你觉得话务员怎么样(“+”、“-”、“*”、“/”
表示为什么?运算符不等于该元组,这就是为什么。您可能打算在
中使用而不是=代码>。(但是一个if/elif/else
链在这里可能是最正常的。)最后一个条件可能是if运算符不在'+-*/'中:
Whatelse
语句?试着用'not in'代替。你认为运算符如何!=(“+”、“-”、“*”、“/”
表示为什么?运算符不等于该元组,这就是为什么。您可能打算在
中使用而不是=代码>。(但是,if/elif/else
链在这里可能是最正常的。)最后一个条件可能是if运算符不在'+-*/'中:
什么else
语句?试着用'not in'代替。[]
中的不是正确的方法。你的权利。我测试了这两种方法,使用tuble代替list的速度大约是前者的两倍。谢谢。[]
中的不是正确的方法。你的权利。我测试了这两种方法,使用tuble代替list的速度大约是前者的两倍。谢谢