0

コイントスゲームで表と裏がいくつあったかを Python が出力しない理由がわかりません。そして一貫して印刷されています0100

# part 2
import random
heads = 0
tails = 0

flip_coin = ['heads', 'tails']

while (heads + tails) < 100:
    flip = random.choice(flip_coin)
    if flip == heads:
        heads += 1
    else:
        tails += 1
print(heads)
print(tails)

何か案は?

4

3 に答える 3

2

あなたはここで間違いを犯しました

if flip == heads: # You are comparing with the heads count integer variable

あなたが欲しいのは

if flip == 'heads': # You want to know if it's the string 'heads'

一貫して0、100を出力しています

上記の間違いのために、 if else を分析すると、flip == headsは常に false であったため、常にelse: tails += 1実行されます。したがってtails = 100heads = 0

于 2016-04-12T07:28:18.393 に答える
0

heads文字列にするために下引用符を付けるのを忘れました。そのため、if ステートメントは常にfalseであり、heads は常に 0 であり、tails常に 100 になります。

これを試して:

# part 2
import random
heads = 0
tails = 0

flip_coin = ['heads', 'tails']

while (heads + tails) < 100:
    flip = random.choice(flip_coin)
    if flip == 'heads':
        heads += 1
    else:
        tails += 1
print(heads)
print(tails)
于 2016-04-12T07:29:15.857 に答える