11

誰でもこのコードをチェックして、何が間違っているのか教えてもらえますか?

input_list = ["One", "Two", "Three"]
P1 = input("Select the input: ", input_list[0], input_list[1], input_list[2])
print (P1)
4

2 に答える 2

16

Pythonraw_inputでは、事前に選択されたリストをユーザーが選択できるようにすることはできません。生の文字列をraw_input収集します。

更新: 良い解決策は、新しい pick ライブラリを使用することです: https://github.com/wong2/pickこれは、指定されたリストから選択するための小さな curses インターフェイスを提供します。で入手してpip install pickください。(更新: 複数選択: はい)

更新 2 : さらに別の python lib ! https://curses-menu.readthedocs.org/en/latest/usage.html#getting-a-selection (複数選択不可)

その目的のために作成された小さなメンテナンスされていないライブラリー、ピッカー(複数選択: はい) があります。

私が考えている最も簡単な解決策は、シェルツールを使用することです:

  • dialogDebian のようなディストリビューションがコンソールに UI を表示するために使用するものです。
  • selectaはシェル用のファジー テキスト セレクターです。
  • zenity (およびyad-dialog ) を使用すると、単純なウィンドウを簡単に作成できます (ターミナルを終了します)。これでリストを表示できます:

    zenity --list --text="a title" --column="first column" "first choice" "second choice"
    

    複数の選択肢を選択することもできます。

  • コンソールを終了すると、 gooey (コマンドライン引数を含む Python スクリプトを GUI に変換する) や Flexxx などのより完全な GUI ツールを使用できますが、それはの作業です。
于 2015-11-10T11:43:18.520 に答える
-1

関数のドキュメントをご覧くださいinput: https://docs.python.org/2/library/functions.html#input

inputプロンプトを表示し、ユーザーが入力したデータを Python 式であるかのように評価します。ユーザーが入力したデータを収集するだけの場合は、raw_input代わりに使用してください。ユーザーの入力がリスト内の何かと一致することを確認するには、カスタム ロジックを実装する必要があります。

于 2015-02-10T06:11:44.087 に答える