首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python-随机数及其频率

Python-随机数及其频率
EN

Stack Overflow用户
提问于 2014-01-08 11:55:29
回答 3查看 3.1K关注 0票数 0

随机模块中的randint函数可以用来产生随机数。例如,对random.randint(1, 6)的调用将以相同的概率产生1到6的值。编写一个循环1000次的程序。在每次迭代中,它对randint进行两次调用,以模拟滚动一对骰子。计算两个骰子的和,并记录每个值出现的次数。 输出应该是两列。一个显示所有和(即从2到12),另一个以1000次显示和各自的频率。

我的代码如下所示:

代码语言:javascript
运行
复制
import random
freq=[0]*13

for i in range(1000):
    Sum=random.randint(1,6)+random.randint(1,6)
    #compute the sum of two random numbers
    freq[sum]+=1
    #add on the frequency of a particular sum

for Sum in xrange(2,13):
    print Sum, freq[Sum]
    #Print a column of sums and a column of their frequencies

然而,我没有得到任何结果。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-08 12:34:29

您不应该使用Sum,因为简单变量不应该大写。

您不应该使用sum,因为这会隐藏内置的sum()

使用不同的非大写变量名。我建议使用diceSum;这也说明了一些上下文、程序背后的想法等等,这样读者就能更快地理解它。

你不想让你的代码读者高兴吗?再想一想。你在这里寻求帮助;-)

票数 1
EN

Stack Overflow用户

发布于 2014-01-08 12:00:33

试试这个:

代码语言:javascript
运行
复制
import random
freq=[0]*13

for i in range(1000):
  Sum=random.randint(1,6)+random.randint(1,6)
   #compute the sum of two random numbers
  freq[Sum]+=1
  #add on the frequency of a particular sum

for Sum in xrange(2,13):
  print Sum, freq[Sum]
  #Print a column of sums and a column of their frequencies

sum上有一个语法大小写错误

python使用的种子生成器应该可以满足您的任务。

票数 0
EN

Stack Overflow用户

发布于 2014-01-08 12:05:58

看上去是个错误。Sum变量被错误地键入为sum

下面是python 3.x中的修改代码

代码语言:javascript
运行
复制
#!/usr/bin/env python3

import random

freq= [0]*13

for i in range(1000):
    #compute the sum of two random numbers
    Sum = random.randint(1,6)+random.randint(1,6)

    #add on the frequency of a particular sum
    freq[Sum] += 1

for Sum in range(2,13):
    #Print a column of sums and a column of their frequencies
    print(Sum, freq[Sum])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20994940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档