-1

「誕生日のパラドックス」の関数を書いてみました。インターネットでいくつかの例を見つけ、すべてを組み合わせていくつかの変更を加えることに成功しましたが、それでも私のプログラムには理解できないことがあります。

これは私のプログラムです:

# The Birthday Paradox

print "If there are 23 students in your class, what are the chances that another student and you will have birthday in the same day?"
print ""
print "Use the function has_duplicates(numExamples) to check it out!"
print "Please write in (numExamples) the number of examples of different lists of birthdays of 23-students-classes you want to check."

def has_duplicates(numExamples):

import random
probability = float()

for example in range(numExamples):
   year = [0]*365
   print year
   foundprobability = False
   for i in range(23):
       birthday = random.randrange(365)
       year[birthday] = year[birthday] + 1
       if year[birthday]>1:
          foundprobability = True

   if foundprobability == True:
       probability = probability + 1

countprobabilty = float(probability/numExamples)
print "The probability of a shared birthday in", numExamples,
print "examples of different lists of birthdays of 23-students-classes is", countprobabilty

この行の意味がわかりません:

year = [0]*365

なぜそのようなリスト [0,0,0,0...] が必要なのですか?

ありがとうございました!生物学の学生、ネッタ

4

2 に答える 2

1

year = [0]*365値 0 の 365 個の要素を持つリストを作成します。[0,0,0,0...]

birthday = random.randrange(365)0 から 365 までのリストを作成し、ランダムな要素を選択します。https://docs.python.org/2/library/random.html#random.randrange
を参照してください

于 2016-01-15T14:35:07.130 に答える