13

私はPythonに非常に慣れていないので、コインを弾くのをシミュレートし、ユーザーにコインを投げる回数を入力するように求めるゲームを作成する必要があります。その応答に基づいて、プログラムは指定された回数、0 または 1 の乱数を選択する必要があります (そして、どちらが「表」を表し、どちらが「裏」を表すかを決定します)。「表」の数と「裏」の数を数え、次の情報をユーザーに提示します: シミュレートされたコイントスからなるリスト、表の数と裏の数の要約。たとえば、ユーザーが 5 を入力した場合、コイン トス シミュレーションは ['heads', 'tails', 'tails', 'heads', 'heads'] になる場合があります。プログラムは次のように出力する必要があります。

これは私がこれまでに持っているものであり、まったく機能していません...

import random

def coinToss():
    number = input("Number of times to flip coin: ")
    recordList = []
    heads = 0
    tails = 0
    flip = random.randint(0, 1)
    if (flip == 0):
        print("Heads")
        recordList.append("Heads")
    else:
        print("Tails")
        recordList.append("Tails")
    print(str(recordList))
    print(str(recordList.count("Heads")) + str(recordList.count("Tails")))
4

13 に答える 13

13

これを行うにはが必要ですloopforループを提案します:

import random
def coinToss():
    number = input("Number of times to flip coin: ")
    recordList = []
    heads = 0
    tails = 0
    for amount in range(number):
         flip = random.randint(0, 1)
         if (flip == 0):
              print("Heads")
              recordList.append("Heads")
         else:
              print("Tails")
              recordList.append("Tails")
    print(str(recordList))
    print(str(recordList.count("Heads")) + str(recordList.count("Tails")))

loopsでこれforを読むことをお勧めします。

また、関数にパラメータnumberとして渡すこともできます:

import random
def coinToss(number):
    recordList, heads, tails = [], 0, 0 # multiple assignment
    for i in range(number): # do this 'number' amount of times
         flip = random.randint(0, 1)
         if (flip == 0):
              print("Heads")
              recordList.append("Heads")
         else:
              print("Tails")
              recordList.append("Tails")
    print(str(recordList))
    print(str(recordList.count("Heads")) + str(recordList.count("Tails")))

次に、最後に関数を呼び出す必要があります: coinToss().

于 2013-02-14T19:32:01.383 に答える
7

あなたはもうすぐそこにいます:

1) 関数を呼び出す必要があります。

coinToss()

2) 繰り返し呼び出すループを設定する必要がありますrandom.randint()

于 2013-02-14T19:30:30.557 に答える
3

私は次のようなものを使います:

from random import randint
num = input('Number of times to flip coin: ')
flips = [randint(0,1) for r in range(num)]
results = []
for object in flips:
        if object == 0:
            results.append('Heads')
        elif object == 1:
            results.append('Tails')
print results
于 2013-02-14T19:58:13.300 に答える
-1
import random

def coinToss(number):
    heads = 0
    tails = 0
    for flip in range(number):
        coinFlip = random.choice([1, 2])

        if coinFlip == 1:
            print("Heads")
            recordList.append("Heads")
        else:
            print("Tails")
            recordList.append("Tails")

number = input("Number of times to flip coin: ")
recordList = []
if type(number) == str and len(number)>0:
    coinToss(int(number))
    print("Heads:", str(recordList.count("Heads")) , "Tails:",str(recordList.count("Tails")))
于 2019-12-16T15:06:19.633 に答える