0

我目前正在制作 MUD,或者我们可以称之为 SUD(单人游戏)的唯一方法是输入命令。

def level_01_room_01():
    choice = raw_input('>: ')
    if choice == 'north':
        level_01_room_02()

在这种情况下,如果用户输入 North,大写 N,代码将不会感知此命令。如果我真的必须输入,那将是一个大麻烦:

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()

等等。

有什么办法可以解决这个问题,以便玩家可以完全按照自己的意愿输入单词?

4

3 回答 3

5

在将其与您的已知字符串进行比较之前始终lower()使用用户输入(并且始终使用小写字母)。

if choice.lower() =='north':
    ...
于 2013-08-08T01:07:39.637 回答
4

您可以使用

if choice.lower() == 'north':
    level_01_room_02()

(见str.lower()

于 2013-08-08T01:06:58.837 回答
3

您可以使用这些方法.lower()并将.upper()字符串转换为相应的情况。一个实际的例子是将用户键入的所有内容都小写,如下所示:

def level_01_room_01():
choice = raw_input('>: ').lower()
if choice == 'north':
    level_01_room_02()

由于输入总是小写的,只要您的所有选择都以小写("north"而不是"NORTH"or "North")编码,它就会与之前的小写输入正确匹配。

于 2013-08-08T01:31:54.380 回答