0

刚开始学习 Python 并尝试测试一些东西以更好地理解在 Python 中编写代码的更好方法。对于这个问题,我要做的是让用户从选项列表中输入一个答案,然后转到下一个功能。例如,

dnd_weapons = ["club", "great axe", "longbow", "hand crossbow"]

user_weapon = input("What weapon would you like to select? ", dnd_weapons)

我希望用户看到的输入是:

What weapon would you like to select? club, great axe, longbow, hand crossbow

目前我遇到了像上面的代码一样工作的错误。dnd_weapons希望这是有道理的,只是试图找到一种更好的方法来从列表中进行输入,而不是在不同的代码部分一遍又一遍地重写。

先感谢您!!

4

2 回答 2

1

这在 vanilla python 中不是一件容易的事情,但是有一个 python 库在过去对我来说效果很好。

https://github.com/wong2/pick

 pip install pick
于 2021-11-15T16:26:31.973 回答
1

这是使用该join()方法和一些格式化字符串的简单方法:

dnd_weapons = ["club", "great axe", "longbow", "hand crossbow"]
dnd_weapons_str=', '.join(dnd_weapons)
user_weapon=input(f"What weapon would you like to select?{dnd_weapons_str}: ")
于 2021-11-15T16:28:10.930 回答