我正在制作MUD或SUD,因为我们可以称之为(单人游戏) 浏览游戏的唯一方法是键入命令。
def level_01_room_01():
choice = raw_input('>: ')
if choice == 'north':
level_01_room_02()
在这种情况下,如果用户使用大写N输入North,则代码将不会感知此命令。如果我真的必须输入,那将是一个很大的混乱:
def level_01_room_01():
choice = raw_input('>: ')
if choice == 'North':
level_01_room_02()
if choice == 'north':
level_01_room_02()
if choice == 'NORTH':
level_01_room_02()
等
有什么方法可以解决这个问题,以便玩家可以按照自己的意愿输入单词吗?
答案 0 :(得分:5)
在将用户输入与已知字符串进行比较之前始终lower()
用户输入(并始终使用小写字母)。
if choice.lower() =='north':
...
答案 1 :(得分:4)
答案 2 :(得分:3)
您可以使用方法.lower()
和.upper()
将字符串转换为相应的案例。
一个实际的例子是降低用户输入的所有内容,如下所示:
def level_01_room_01():
choice = raw_input('>: ').lower()
if choice == 'north':
level_01_room_02()
由于输入始终是小写的,只要您的所有选择都以小写字母("north"
而不是"NORTH"
或"North"
编码),它将与先前较低的输入正确匹配