Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我在不同的地方打印时结果会不同? def sameDate(numpople,numSame): 可能速率=范围(366) 生日=[0]*366 对于范围内的p(numpople): 出生日期=随机选择(可能日期) 生日[生日]+=1 返回最大值(生日)>=numSame def birthdayProb(numPeople、numSame、numTrials): numHits=0 对于范围内的t(单位): 如果是sameDate(numPeople,numSame): numHits+=1 返回numHits/numTrials 打印(生日概率(20,210000)) 随机种子(0) 输入数学 对于[20]中的numPeople: 打印(生日Prob(numPeople,210000))_Python_Python 3.x - Fatal编程技术网

Python 为什么我在不同的地方打印时结果会不同? def sameDate(numpople,numSame): 可能速率=范围(366) 生日=[0]*366 对于范围内的p(numpople): 出生日期=随机选择(可能日期) 生日[生日]+=1 返回最大值(生日)>=numSame def birthdayProb(numPeople、numSame、numTrials): numHits=0 对于范围内的t(单位): 如果是sameDate(numPeople,numSame): numHits+=1 返回numHits/numTrials 打印(生日概率(20,210000)) 随机种子(0) 输入数学 对于[20]中的numPeople: 打印(生日Prob(numPeople,210000))

Python 为什么我在不同的地方打印时结果会不同? def sameDate(numpople,numSame): 可能速率=范围(366) 生日=[0]*366 对于范围内的p(numpople): 出生日期=随机选择(可能日期) 生日[生日]+=1 返回最大值(生日)>=numSame def birthdayProb(numPeople、numSame、numTrials): numHits=0 对于范围内的t(单位): 如果是sameDate(numPeople,numSame): numHits+=1 返回numHits/numTrials 打印(生日概率(20,210000)) 随机种子(0) 输入数学 对于[20]中的numPeople: 打印(生日Prob(numPeople,210000)),python,python-3.x,Python,Python 3.x,第一次打印的结果:0.4143 循环内部打印结果:0.4035 为什么在for循环中打印它时会有所不同?birthdayProb调用sameDate,它使用random.choice()。因此,通过设计,即使输入相同,两次试验之间的结果也会有一些变化 如果您希望试验是可重复的,但仍然具有随机性,请考虑使用随机.种子()/代码>在调用出生日期PROB/之前确定种子,以确保随机。Couice()/代码>每次都给出相同的结果。 < P>这不是for循环的错误。这是由于在代码中使用了randombirt

第一次打印的结果:0.4143 循环内部打印结果:0.4035
为什么在for循环中打印它时会有所不同?

birthdayProb
调用
sameDate
,它使用
random.choice()
。因此,通过设计,即使输入相同,两次试验之间的结果也会有一些变化


如果您希望试验是可重复的,但仍然具有随机性,请考虑使用<代码>随机.种子()/代码>在调用<代码>出生日期PROB/<代码>之前确定种子,以确保<代码>随机。Couice()/代码>每次都给出相同的结果。

< P>这不是for循环的错误。这是由于在代码中使用了
random
birthdayProb
函数调用
sameDate
函数
sameDate
函数正在使用
random.choice(possibleDates)
,因此每次调用时结果都会略有不同。

问题代码中似乎存在一些缩进问题。你们能解决这个问题吗?除了缩进问题,你们还调用了随机模块。它将随机(按设计)选择一个项目。你以为会发生什么呢?缩进是因为stackoverflow的编辑器现在我已经修复了它,你能检查一下吗?我使用了random.seed(0),我得到了两个不同的结果answers@manasaelenssen每次调用
birthdayProb()
之前您都使用过它吗?