任何人都可以查看此代码并告诉我出了什么问题吗?
input_list = ["One", "Two", "Three"]
P1 = input("Select the input: ", input_list[0], input_list[1], input_list[2])
print (P1)
答案 0 :(得分:12)
使用python的raw_input
,无法向用户提供可供选择的预选列表。使用raw_input
我们收集原始字符串。
更新:一个不错的解决方案是使用新的选择库:https://github.com/wong2/pick它提供了一个小的curses接口,可以从给定的列表中选择我们的选择。通过pip install pick
获取。 (更新:多选:是)
更新2 :还有另一个python库! https://curses-menu.readthedocs.org/en/latest/usage.html#getting-a-selection(没有多选)
为此目的,有一个很小且没有维护的库,picker(多选:是)。
我想到的最简单的解决方案是使用shell工具:
dialog
是Debian用于在控制台中呈现UI的发行版,zenity(和yad-dialog)使构建简单窗口变得非常容易(我们退出终端)。我可以用这个显示一个列表:
zenity --list --text="a title" --column="first column" "first choice" "second choice"
我们也可以选择多种选择。
答案 1 :(得分:0)
查看input
函数的文档:https://docs.python.org/2/library/functions.html#input
input
提示一个提示,并评估用户输入的数据,就像它是一个Python表达式一样。如果您只想收集用户输入的数据,请改用raw_input
。您需要实现自定义逻辑,以确保用户的输入与列表中的内容匹配。