2017-12-06 17 views
-1

ユーザーが入力した文字列入力のオブジェクトのみを含むリストを検索しようとしています。リスト内のオブジェクトに文字列入力に対応する名前がある場合、コードはオブジェクトの関連情報を出力してそれを返します。リスト検索のためにオブジェクトを文字列に変換する方法は?

しかし、私が知っている項目を入力しても出力は "0"です。私は入力がオブジェクトの1つと等しい時を知るために、リスト内のオブジェクトを文字列として認識するためにPythonを必要とします。

flavor_input = str.upper(input('What is the flavor of the cake you are looking for? ')) 
for var in cakeList: 
    if str(var) == flavor_input: 
     print('The flavor has been found') 
     print(var) 
     return var 
    if var not in cakeList: 
     print('The cake is not on the list!') 
     return 0 
+0

を助けた

if flavor_input in cakeList 

希望は、あなたの 'cakeList'とどのような入力あなたがそれを提供しているが、'生成してはならないのサンプルを投稿することができます0 '? – zwer

+0

cakeListのオブジェクトはどのような型ですか? – Broncos423

+1

'cakeList'の中のvarが' cakeList'の 'for var 'の下に字下げされているので、どうしてそれが真実であるかはわかりません... –

答えて

0

私は多分それはVaRの単語が大文字ではないこともあり、この

if str.upper(var) in flavor_input: 

をしようと、そのコメントを書く傾けます。また、私はあなただけの生のそれらを比較することができると思い、ループなし

0

あなたは、リスト内の最初の項目をチェックして、forループ内でリストを反復処理されています

は、これは私のコードです。あなたのロジックは不良です。

単に
cakeList = ['SPAM', 'HAM'] 
flavor_input = str.upper(input('What is the flavor of the cake you are looking for? ')) 
for var in cakeList: 
    if str(var) == flavor_input: 
     print('The flavor has been found') 
     print(var) 
     break 
else: 
    print('The cake is not on the list!') 

以上:

if flavor_input in map(str,cakeList): 
    print('The flavor has been found') 
else: 
    print('The cake is not on the list!') 
関連する問題