将用户输入的字符串转换为函数调用

电子1

我正在为基于文本的游戏编写词法分析器。我的代码的简化示例如下:

class Character:
    def goWest(self, location):
        self.location == location.getWest() #getWest() would be defined in the location class
x = raw_input("What action would you like to take")

使用此代码,我希望玩家输入类似“ Go West”的内容,并有一个单独的函数接收子字符串“ West”,然后为该角色调用goWest()方法。

AJ Uppal

您应该使用多个if语句:

x = raw_input("What action would you like to take")
direction = x.split()[-1].lower()
if direction == "west":
    character.goWest(location)
elif direction == "east":
    character.goEast(location)
elif direction == "north":
    character.goNorth(location)
else:
    character.goSouth(location)

或者,您可以更改go功能:

class Character:
    def go(self, direction, location):
        self.location = location
        self.direction = direction
        #call code based on direction

并按照上述方法进行操作

x = raw_input("What action would you like to take")
character.go(x.split()[-1].lower(), location)

你可以使用exec,但execeval是非常危险的。

一旦你拥有的功能goWest()goEast()goNorth(),和goSouth()

>>> func = "go"+x.split()[-1]+"()" #"goWest()"
>>> exec(func)
west

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将用户输入的字符串转换为新对象

来自分类Dev

如何将用户输入转换为字符串

来自分类Dev

如何将用户输入的字符串转换为正确的对象类型

来自分类Dev

如何将用户输入(字符串变量)转换为Excel表引用

来自分类Dev

如何将用户输入的字符串转换为猪拉丁语?

来自分类Dev

如何将用户的字符串输入(例如“ int”或“ float”)转换为str和float类型?

来自分类Dev

Ruby 2.3。如何将用户输入字符串转换为数组,然后将其拆分为单个元素?

来自分类Dev

将用户定义的类型转换为字符串,并将字符串转换为用户定义的类型

来自分类Dev

Discord.js:将用户ID(字符串)转换为用户ID(雪花)

来自分类Dev

将字符串转换为函数调用

来自分类Dev

将字符串转换为Angular中的函数调用

来自分类Dev

如何将用户定义的字符串转换为整数

来自分类Dev

如何将用户给出的字符串转换为列表

来自分类Dev

如何将用户定义的字符串转换为整数

来自分类Dev

Ruby忽略了用户输入的字符串-将字符串转换为整数

来自分类Dev

Ruby:将用户输入与字符串进行比较

来自分类Dev

将用户输入的字符串写入C中的文件

来自分类Dev

如何将用户输入链接到字符串

来自分类Dev

将用户输入与字符串数组列表进行比较

来自分类Dev

将用户字符串输入到循环数组中

来自分类Dev

将用户输入(字符或字母字符串)读取到switch语句或嵌套ifelse(包含函数)中的ggplot命令中

来自分类Dev

将用户输入输入到一串数组中并递增字符串数组输入

来自分类Dev

将函数转换为字符串

来自分类Dev

将字符串转换为函数

来自分类Dev

将字符串转换为函数

来自分类Dev

将字符串转换为函数

来自分类Dev

将用户输入转换为数字

来自分类Dev

将用户输入转换为unicode

来自分类Dev

将用户输入转换为列表名称

Related 相关文章

  1. 1

    将用户输入的字符串转换为新对象

  2. 2

    如何将用户输入转换为字符串

  3. 3

    如何将用户输入的字符串转换为正确的对象类型

  4. 4

    如何将用户输入(字符串变量)转换为Excel表引用

  5. 5

    如何将用户输入的字符串转换为猪拉丁语?

  6. 6

    如何将用户的字符串输入(例如“ int”或“ float”)转换为str和float类型?

  7. 7

    Ruby 2.3。如何将用户输入字符串转换为数组,然后将其拆分为单个元素?

  8. 8

    将用户定义的类型转换为字符串,并将字符串转换为用户定义的类型

  9. 9

    Discord.js:将用户ID(字符串)转换为用户ID(雪花)

  10. 10

    将字符串转换为函数调用

  11. 11

    将字符串转换为Angular中的函数调用

  12. 12

    如何将用户定义的字符串转换为整数

  13. 13

    如何将用户给出的字符串转换为列表

  14. 14

    如何将用户定义的字符串转换为整数

  15. 15

    Ruby忽略了用户输入的字符串-将字符串转换为整数

  16. 16

    Ruby:将用户输入与字符串进行比较

  17. 17

    将用户输入的字符串写入C中的文件

  18. 18

    如何将用户输入链接到字符串

  19. 19

    将用户输入与字符串数组列表进行比较

  20. 20

    将用户字符串输入到循环数组中

  21. 21

    将用户输入(字符或字母字符串)读取到switch语句或嵌套ifelse(包含函数)中的ggplot命令中

  22. 22

    将用户输入输入到一串数组中并递增字符串数组输入

  23. 23

    将函数转换为字符串

  24. 24

    将字符串转换为函数

  25. 25

    将字符串转换为函数

  26. 26

    将字符串转换为函数

  27. 27

    将用户输入转换为数字

  28. 28

    将用户输入转换为unicode

  29. 29

    将用户输入转换为列表名称

热门标签

归档