如果我在if语句中使用'或'来运行它,那么无论我为输入提供什么名称都无关紧要,一切都会使函数运行。如果我删除了或者if语句运行并且elif和else被忽略。
names = ['Luke', 'James', 'Bob', 'Rob', 'Vincent']
emp_name = input("What is your name?")
def employees():
for name in names:
if name == 'Luke':
print(name, '- is the best')
continue
if name == 'Vincent':
print(name, '- is insane')
continue
print(name, '- is okay')
if emp_name.lower() == "luke e. hayes" or "luke":
employees()
elif emp_name.lower() != "luke e. hayes" or "luke":
print("Get out")
else:
print("Error")
答案 0 :(得分:0)
问题是你的if语句,你实际上正在评估名字==" luke e.hayes"或者" luke" 。 "路"因为它有一个值,所以总是会评估为true。尝试
if emp_name.lower() == "luke e. hayes" or emp_name.lower() == "luke":
您将在下一行遇到同样的问题,该问题应转换为
elif emp_name.lower() != "luke e. hayes" and emp_name.lower() !="luke":
第二个应该打印无论什么,你会想在那里使用和声明。如果您需要更多解释,请告诉我