作为对象输入 python 3

Input as object python 3

所以我正在为我和我的朋友制作一种 RPG 程序,我正在开发一种市场系统,用户将走到不同的商店购买物品或出售他们自己的物品以获得金币他们可以用它来购买健康药水、更好的装备和武器,然后进入地牢,杀死一些东西,获得更多的金币和经验来升级等等。所以,我想出了一个非常简单的方法来做到这一点: 为每个商店准备一份库存,向用户打印库存中的物品并询问他们想要购买什么。 它会检查它是否在库存中,然后向用户显示它将花费多少黄金,并询问他们是否要购买。 无论如何,这是我的问题: 如果我的输入是 x,比如 "sword" 并且我在上面定义 (def sword():) 它来说明成本。有没有什么办法让我接受输入并使用 x() 进行定义,而不是每次都必须放下 sword()、shield()、axe() 等等?

使用字典:

costs = {'sword': 100, 'shield': 80, 'axe': 60} # or whatever the actual costs are

selection = input()
try:
    cost_of_selection = costs[selection]
except KeyError:
    print('Invalid selection')