私のコードのif文で望ましくない動作が発生しています。 while loop
の中の条件文を呼び出すと、どの入力が供給されても最初の条件だけが呼び出されます。私は適切に記述された関数を呼び出すための適切な入力をして、ループの始めに戻り、別の選択肢をユーザに尋ねます。whileループ条件文は最初の条件のみを呼び出す
color_modes = ['sangria', 'ham', 'nightHawk']
print color_modes
def sangria():
my_range = list(range(20))
print my_range
def ham():
print 'foo'
def nightHawk():
print 'nightHawk'
while True:
user_input = input('...')
if 'sangria':
ham()
continue
if 'ham':
sangria()
continue
if 'nightHawk':
nightHawk()
continue
else:
break
Moreoever、私は構文を使用する場合:
if user_input == 'ham':
代わりの速記if 'ham:
を、条件が機能しません。前もって感謝します。空ではない文字列は常にTrue
あるので、
は、返信いただきありがとうございます。私は今2.7の 'raw_input'とPython 3の' input'が文字列を返すことを理解していますが、デフォルトでは2.7で式を返します。私はこの単純なエラーが私の側にあったと思います。清潔にしてくれてありがとうございました。 'もし' somestring 'が何をするのかを明確にしてくれてありがとう。 –