2017-09-22 7 views
0

私はプロジェクト(純粋なコンソールプログラム)用のメニュー(インタフェース)を構築していますが、問題を扱っています。その上長い、複雑なテキストメニューをPythonで処理するには?

three available options 
If chosen option 1 then eight another options available 
If option 2 then six other available options 
If option 3 then three other available options 
. 
.. 
... 

そして:私はこのように、オプションのように膨大な量のプログラムを構築しています初めて 。さらに、ユーザーは番号でオプションを選択する必要があります。たとえば、「2」または他の数字の代わりに「haha」と入力した場合は、誤った選択に関するメッセージを印刷して、最初のブランチに戻しますオプション。プログラムの初めではなく、彼が現在座っていた「オプションの支店」にそれは私の最大の問題です。私はパスカルからの "goto"コマンドが不足しているのを見つけました。なぜなら、私が望むコードで直接その場所に戻ることができたからです。

+0

実際に 'goto'は実際にはどの言語でもお勧めできません(パスカルの仕組みについてはわかりません)。 'while'、' for'などの代わりに 'loops'を使います。' goto'で定義されたアルゴリズムはループに変換できるので –

答えて

0

あなたのプログラムは、おそらく単独でまたはパイプとして働くことができる小さなパーツ、次々に分解する必要がありますオプションのように膨大な量のプログラムを構築

あなたが言及したインターフェースがコマンドラインインターフェース(cli)である場合、docoptでテンプレートコマンド/オプションを試すことができます。これにより、コマンドでcliコマンドのプロトタイプを作成できます。

私はあなたがあなたの裁量で

python your_script.py command_A --option1=a --option2=123 
python your_script.py command_B -a -b -c --option3=zzzz [email protected]#$%@#^% 

または何か他のものとして実行されているオプションを取得することができます想像してみてください。

関連する問題