0

私はPythonにかなり慣れていないので、ユーザーが入力した反復回数だけこのループを実行する方法を考えていましたが、現時点では無限ループです:

def randMod():
   import random
   heads = 0
   tails = 0
   tries = raw_input('Enter a number:')

   while True:
       runs = 0
       if tries == runs:
           break
       else:
           runs + 1


       coinFlip = random.randrange(0,1+1)

       if coinFlip == 0:
           print "Tails"
           tails + 1

       elif coinFlip == 1:
           print "Heads"
           heads + 1

       print heads
       print tails

randMod()

ユーザーが何回入力して最後に集計するかについてコイントスをシミュレートするようにしようとしています。唯一の問題は、私がPythonにかなり慣れていないため、これが正しいかどうかわからないことです。

4

1 に答える 1

1

ここで見られる問題はraw_input()、ユーザーの入力を読み取るために使用していることです。このメソッドは、入力を文字列として保存します。これを機能させるには、 に含まれる情報を数値に変換する必要がありますtries。比較tries == runsしていて、文字列が int と等しくなることはないため、永久にスタックします。

次のような変換を使用できます: ここで説明

于 2013-10-13T15:03:25.693 に答える