[英]Could somebody please help me with this code?
有人可以帮我吗? 我已经编写了此python代码,但由于某种原因,它无法正确响应我的if和elif语句。
print ('Welkom')
print("\n")
naam = input('Typ alsjeblieft je naam en druk vervolgens op enter: ')
print("\n")
if naam == 'Tim' or 'tim':
print ('Hoi Tim')
elif naam == 'Mitch' or 'mitch':
print ('Hoi Mitch')
elif naam == 'Tom' or 'tom':
print ('Hoi Tom')
else:
print ('Hoi vreemdeling!')
我输入的内容(例如mitch)都没关系,它始终会打印“ Hoi Tim”。 我用数字和表达式(例如input == 20)尝试了相同的代码。在这些情况下,它确实响应了我的if语句。 有人可以向我解释我做错了什么吗?
if naam == 'Tim' or 'tim'
解释为:
if (naam == 'Tim') or ('tim')
这将始终为True
,因为bool('tim') is True
(不为空的字符串被视为True)。 因此,您将拥有False or True
类的东西,它们将返回True
(因为其中一个值为True)。
如果要将输入与两个字符串进行比较,则必须执行以下操作:
if naam == 'Tim' or naam == 'tim':
要么:
if name in ('Tim', 'tim'):
但是,对于您的示例,可以使用str.lower()
:
if naam.lower() == 'tim':
这与您其他的相同:
elif naam.lower() == 'mitch':
print('Hoi Mitch')
elif naam.lower() == 'tom':
print('Hoi Tom')
如果要比较的值增加,则可以执行以下操作
if naam in ('Tim', 'tim'):
print ('Hoi Tim')
elif naam in ('Mitch', 'mitch'):
print ('Hoi Mitch')
elif naam in ('Tom', 'tom'):
print ('Hoi Tom')
else:
print ('Hoi vreemdeling!')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.