用户输入字符串的不区分大小写的比较

Case insensitive comparison of user input string

我有一个小的新任务,到目前为止这是代码。当它是 运行 时,它要求用户“输入您拥有的宠物”,如果我输入“dog”,它是 true,但当我输入“Dog”或“DOG”时,它是 false。我该怎么做才能使大小写无关紧要?这是代码 rn.

pet_type  = input('Enter pets that you have owned.')

print('dog' in pet_type)

此外,今天到期,非常感谢快速帮助。

您可以使用str.lower()将字符串小写,然后比较值。例如:

'dog' == pet_type.lower()

# 'DOG'.lower() ==> 'dog'

注意:要检查完全匹配,您需要使用 == 而不是 in。 As in 进行子字符串匹配。因此 'dog' in 'dogogogo' 也会 return True

您的选择:

您可以使用 <str>.lower()<str>.upper()

lower() 将整个字符串转换为小写,upper() 将整个字符串转换为大写。然后,您可以与该值进行一次比较,而不是数十次甚至数百次比较/ifs。

示例:

lower():

foo = input('foo or bar? ')
if foo.lower() == 'foo': print ('Good choice!')
elif foo.lower() == 'bar': print ('Bad choice...')
else: print ('Only foo or bar.')

upper():

foo = input('foo or bar? ')
if foo.upper() == 'FOO': print ('Good choice!')
elif foo.upper() == 'BAR': print ('Bad choice...')
else: print ('Only foo or bar.')