Can anyone check this code and let me know what is wrong?
input_list = [\"One\", \"Two\", \"Three\"]
P1 = input(\"Select the input: \", input_list[0], input_list
With python's raw_input
it is not possible to give a preselected list to the user to choose from. With raw_input
we collect raw strings.
update: a nice solution is to use the new pick library: https://github.com/wong2/pick It provides a small curses interface to pick our choice from a given list. Get it with pip install pick
. (update: multi-select: yes)
update 2: and yet another python lib ! https://curses-menu.readthedocs.org/en/latest/usage.html#getting-a-selection (no multi-select)
There's a tiny and unmaintained library made for that purpose, picker (multi-select: yes).
The simplest solution I'm thinking of is to use shell tools:
dialog
is what distros like Debian use to present UIs in the console,zenity (and yad-dialog) make it very easy to build simple windows (we exit the terminal). I can display a list with this:
zenity --list --text="a title" --column="first column" "first choice" "second choice"
We can also select multiple choices.
Take a look at the documentation of the input
function: https://docs.python.org/2/library/functions.html#input
input
presents a prompt and evaluates the data input by the user as if it were a Python expression. If you just want to gather data input by the user, use raw_input
instead. You'll need to implement custom logic to make sure the user's input matches with something in your list.