2017-06-14 19 views
-1

最大量に達したときに入力したメッセージをコードが返すことができません。これは「ライフメーター」の一形態です。ここでは、コードは次のようになります。Pythonでwhileループを使用してライフメーターを作成する方法

import random 

lives = 3 

coin = (
    'heads', 
    'tails' 
    ) 

ask = input('Are you ready?') 

if ask == 'yes': 
    print('Good') 
else: 
    print('No is not an option') 

coin_flip = random.randint(0,1) 

choice = input('Heads or tails?') 

print('It was', coin[coin_flip]) 

if choice != coin_flip: 
    lives = lives-1 

while lives >0 : 
    coin_flip = random.randint(0,1) 
    choice = input('Heads or tails?') 
    print('It was', coin[coin_flip]) 

    if choice != coin_flip: 
     lives = lives-1 

    if lives <1 : 
     print('You are out') 

私は、数3に、元の生活を割り当てられている、と毎回私はそれは間違っている、それが命を脱ぐ必要があり得ます。私はそれが 'coin_flip'がpaticular文字列として割り当てられていないという事実のためかもしれないと思っています。もし私がそれについて正しいのであれば、入力された文字列を捕まえるようにするにはどうしたらいいですか?

編集: 私のインデントは間違っていたので、私はメッセージを受け取っていませんでした。今、私はランダムな出力のときに、なぜ「頭や尾」を捕らえることができないのか理解する必要があります。

+0

あなたの2番目の 'if choice!= coin_flip:'はインデントされる必要があります...そして次の行 – depperm

+3

'choice!= coin_flip'を' if choice!= coin [coin_flip] '? – Safron

+0

あなたの入力は 'choice'ですか? –

答えて

1

ザ・推測に実際のコイン投げをチェックする文はインデントやwhileループ内にネストされなければならない場合:

あなたは選択肢のランダムな整数の変数ではなく、それが表すコインの顔を比較するため
while lives >0 : 
    coin_flip = random.randint(0,1) 
    choice = input('Heads or tails?') 
    print('It was', coin[coin_flip]) 
    if choice != coin[coin_flip]: 
     lives = lives-1 

はまた、あなたのチェックは常に間違っているだろう。前にprintステートメントで行ったように、タプルの位置に基づいてタプルから項目を選択するだけです。あなたはより多くの基本的なのpythonを学ぶよう

また、あなたは...などなど大文字の文字列、末尾のスペース、誤った文字などのユーザー・エラーを処理することができるようになります

すなわち、 - heads!= Heads

+0

はい、私は複数の回答を受け入れる方法を知っており、私はそれを理解しています '頭部!=頭部。答えをありがとう。 –

0

あなたのインデントは、それがwhileループの内側にあるので、あなたは、次のようにインデントする必要が

を台無しにされています。これを行わない場合は、whileループは終わらないだろうと、このコードが実行されることはありません

if choice != coin_flip: 
    lives = lives-1 

if lives <1 : 
    print('You are out') 
+0

ありがとう、それは私の質問に部分的に答えます。詳細は、EDITを参照してください。 –

+1

この投稿には他の重大な問題があります。正解はそれを閉じることです。答えを出すことでOPを有効にするのではありません。 –

+1

また、あなたの字下げは、彼がSyntaxErrorを引き起こさなかったので、OPのものよりずっと悪くなっています。 –

関連する問題