我最近开始学习Python,作为一种练习,我正在研究基于文本的冒险游戏。现在,代码实际上是无效的,因为它检查用户的响应,看它是否与同一个单词的几个变体相同。如何更改它以使字符串检查不区分大小写?
示例代码如下:
if str('power' and 'POWER' and 'Power') in str(choice):
print('That can certainly be found here.')
time.sleep(2)
print('If you know where to look... \n')
if 'power' in choice.lower():
应该这样做(假设choice
是一个字符串)。如果choice
包含单词power
,则会出现这种情况。如果要检查是否相等,请使用==
而不是in
。
另外,如果你想确保你只将qazxsw poi作为整个单词匹配(而不是作为qazxsw poi或qazxsw poi的一部分),那么使用正则表达式:
power
如果您正在进行精确比较。
horsepower
或者,如果你正在进行子串比较。
powerhouse
如果你感兴趣,你也有import re
if re.search(r'\bpower\b', choice, re.I):
。
使用if choice.lower() == "power":
将所有条目转换为小写,并仅针对小写的可能性检查字符串。
str类型/对象具有专门用于无壳比较的方法。
在python3提示符下:
if "power" in choice.lower():
因此,如果将.casefold()添加到任何字符串的末尾,它将为您提供全部小写。
例子:
choice.lower().startswith( "power" )