1

私はPythonを初めて使用し、random.randintパートを100回繰り返すコードを作成する方法を知りたいです。

#head's or tail's

print("you filp a coin it lands on...")

import random

heads = 0
tails = 0


head_tail =random.randint(1, 2,)

if head_tail == 1:
    print("\nThe coin landed on heads")
else:
    print("\nThe coin landed on tails")

if head_tail == 1:
    heads += 1
else:
   tails += 1

flip = 0
while True :
    flip +=1
    if flip > 100:
        break



print("""\nThe coin has been fliped 100 times
it landed on heads""", heads, """times and tails""", tails,
"""times""")

input("Press the enter key to exit")
4

5 に答える 5

5

リスト内包表記を使用して、すべてを1行で実行できます。

flips = [random.randint(1, 2) for i in range(100)]

そして、このように頭/尾の数を数えます:

heads = flips.count(1)
tails = flips.count(2)

またはさらに良い:

num_flips = 100
flips = [random.randint(0, 1) for _ in xrange(num_flips)]
heads = sum(flips)
tails = num_flips - heads
于 2012-05-22T17:49:37.267 に答える
3

まず、そのwhileループを次のように置き換えます。

for flip in xrange(100):
  ...

次に、100回のランダムな試行を実行するには、randint()呼び出し(および100回実行する他のすべて)をループの本体内に移動します。

for flip in xrange(100):
  head_tail = random.randint(1, 2)
  ...

最後に、これががすべてを行う方法です:

heads = sum(random.randint(0, 1) for flip in xrange(100))
tails = 100 - heads
于 2012-05-22T17:44:46.703 に答える
2

range(100)0から99(100アイテム)のリストを作成するPython3.xを使用しているため、を使用します。次のようになります。

print("you flip a coin it lands on...")

import random

heads = 0
tails = 0


for i in xrange(100):
    head_tail = random.randint((1, 2))

    if head_tail == 1:
        print("\nThe coin landed on heads")
    else:
        print("\nThe coin landed on tails")

    if head_tail == 1:
        heads += 1
    else:
        tails += 1    


print("""\nThe coin has been fliped 100 times
it landed on heads""", heads, """times and tails""", tails,
"""times""")

input("Press the enter key to exit")
于 2012-05-22T17:50:38.890 に答える
1
for flip in range(100):
    head_tail = random.randint(1, 2)

    if head_tail == 1:
        print("\nThe coin landed on heads")
    else:
        print("\nThe coin landed on tails")

    if head_tail == 1:
        heads += 1
    else:
        tails += 1
于 2012-05-22T17:47:57.530 に答える
0

私はPythonと一般的にプログラミングの初心者ですが、1日のプログラミングの練習に基づいて独自のコードベースを作成しました。コイントスのコーディング演習は、私が今勉強している本の最初の演習の1つです。私はインターネットで解決策を見つけようとしましたが、このトピックを見つけました。

以前の回答で使用された関数のいくつかは私にはなじみがなかったので、私はこのトピックのコードを使用することに気づいていました。

同様の状況にある人へ:私のコードを自由に使用してください。

import random

attempts_no = 0
heads = 0
tails = 0

input("Tap any key to flip the coin 100 times")


while attempts_no != 100:
 number = random.randint(1, 2)
 attempts_no +=1
 print(number)
 if number == 1:
    heads +=1
 elif number ==2:
    tails +=1

print("The coin landed on heads", heads, "times")
print("The coin landed on heads", tails, "times")
于 2015-04-12T12:32:30.607 に答える