私はこのコードに少しぶち当たっています(私のタイトルが誤解を招く場合は私を許してください)。 my_inputs
内の内容がすべて正しいと見つける可能なmy_dictであれば、それは私が望んでいた方法で実行されている、と仮定すると、理想的なシナリオではリスト内のすべての項目がチェックされている場合にのみ、次の関数を実行してください。
my_dict = {'aaa' : 12, 'bbb' :34, 'ccc' : 56}
my_inputs = ['aaa', 'bbb']
def check(user_input):
input_check = my_dict.get(user_input)
if not input_check:
raise ValueError('{0} is not part of the dictionary'.format(user_input))
#sys.exit()
#return
return input_check
for i in my_inputs:
check(i)
print 'Executing next...'
: 次のコードを参照してください。
ただし、内容をmy_inputs = ['aaa1', 'bbb']
に変更した場合、この順序で進むと、forループ内の文を印刷できなくなります。 しかし、それをmy_inputs = ['aaa', 'bbb1']
に変更すると、まずステートメントが出力され、次にValueErrorが発生します。これは正しいですが、aaa
が辞書に存在するためです。
ここで私の質問は - check
関数をすべての入力を一度にチェックして、次の関数を実行する前に辞書内に存在するかどうかを確認しようとしています。 my_inputs
の順番が['aaa1', 'bbb']
でも['aaa', 'bbb1']
でも、単にValueErrorで停止してステートメントを出力しません。この文は、my_inputのすべての項目がmy_dictで占められている場合にのみ表示されます。
sys.exit()
とreturn
を使ってみましたが、うまくいかないようです。表示するには
あなたはおそらく、私はかなりそれを取得しておりません、もう少しコードを説明してもらえ... – dissidia