やりたいこと
- リストがあるとします(例:selects = ["あ","か","さ"] )
- コマンドライン上で、リストの要素を番号とともに順に表示して
- 選択した番号と一致する要素を取得し、応じた何かを実行します
自分の記述方法で問題なく行えるのですが、もっと簡潔に書くことができるのではないかと思い、質問させていただきます。
現在行っているやりかた
python
1selects = ["あ","か","さ"] 2 3# 順に表示 4for i in range(len(selects)) : 5 print("%s:%s" % (i,selects[i])) 6 7"""実行結果 80:あ 91:か 102:さ 11""" 12 13# 番号の選択部分 14put = int(input("番号を選択:")) 15if put == 0: 16 print("a") 17if put == 1: 18 print("ka") 19if put == 2: 20 print("sa") 21print(select) 22 23""" 24番号を選択:1 25>> ka 26""" 27
このやり方だと、選択したい要素が多くなればなるほど場合分けが面倒になります。
また、要素の間に新しい要素を追加した時(例えば、"あ"と"か"の間に"い"を持ってきた場合)に、if文の分岐を書き直さなければならないため、ハゲてしまいます。
追記
また、実行したいものが特定のオリジナル関数であったりした場合、[("あ","a"),...]のようにセットで作ってしまうということも難しいかもしれません・・・
何か、いい方法はないでしょうか?
ご教授よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/24 06:50
2017/03/24 06:54
2017/03/25 11:41