- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第PAGE
第PAGE1页共NUMPAGES16页
第10章:random模块
琢磨不透的随机数:random模块
本章导读:
每次路过彩票销售点,总是会看到一个非常有趣的现象,买彩票的人们都在精心地计算着自己要买的彩票号码,反复斟酌,细致研究,好像中奖号码是可以推算出来的。
中奖号码是可以算出来的吗?答案是否定的,因为中奖号码是随机的,没有规律,不能预先推算。试想一下,如果中奖号码可以推算,岂不是人人都去研究彩票了。
10.1random模块简介
中奖号码之所以不可预测,因为它是随机生成的,也称为随机数。random模块就是Python提供的一个随机数生成器,可以使用random模块生成任意范围内的随机数。在前面的章节中,学会了用于绘图的的turtle模块。既然都是模块,random模块与turtle模块的使用方法是一样的,使用模块中的函数之前,必须先用import关键字导入模块。
10.1.1randint函数
想要生成一个随机整数,可以使用random模块中的randint函数。randint函数的语法见表10-l。
表10-1randint函数的语法
项目
语法说明
函数
randint(start,end)
参数
start:随机数的最小值
end:随机数的最大值
通过最大值start和最小值end确定随机数的范围(注:包含最大值和最小值)
返回值
返回start~end的一个随机整数
【示例10-1】
importrandomrandom.randint(1,100)22
importrandom
random.randint(1,100)
22
random.randint(1,100)
96
random.randint(1,100)
93
random.randint(1,100)
3
【代码解析】
第1行:使用import关键字导入random模块。
第2、3行:调用randint函数,生成-个1~100的随机数,这个随机数为22。
第4、5行:调用randint函数,生成-个1~100的随机改,这个随机致为96。
第6、7行:调用randint函数,生成-个1~100的随机数,这个随机数为93。
第8、9行:调用randint函数,生成-个1~100的随机数,这个随机数为3。
程序中调用了4次randint函数,生成的随机数都不一样。
案例10-1:猜数字赢积分
【案例说明】
通过random提块编写一个猜数字赢积分的游戏,看看谁获得的积分最多。
【案例偏程】
根据案例说明,使用random模块中的random函数生成一个1~3的随机数,并使用一个变量记录积分。如果猜对获得100积分;否则扣除50积分,玩家根据提示信息输入值,直到猜对数字。程序如下所示:
importrandom
importrandom
print(这是一个猜数字赢积分的游戏:)
print(猜对得100分,猜错扣50分:)
a=random.randint(1,3)
score=0
whileTrue:
b=input(请输入1~3之间的整数:)
b=int(b)
if(a==b):
score=score+100
print(恭喜你猜对了,你的得分是{}.format(score))
break
elif(ba):
score=score-50
print(输入的数偏小)
else:
score=score-50
print(输入的数偏大!)
【代码解析】
第1行:使用import关键字导入random模块。
第2、3行:输出提示信息。
第4行:调用randint函数生成一个1~3的随机数并赋值给变量a。
第5行:定义变量score,用于记录用户的积分。
第6~18行:进入无限循环。
第7行:获取用户输入的数并赋值给变量b。
第8行:把变量b的值转换为整数。
第9~12行:如果用户输入的数b与软件生成的随机数a相等,则积分加100并输出积分,调用break语句退出循环。
第3~5行:如果用户输入的数b比软件生成的机数大,则输出相应的提示信息。
第16~18行:如果用户输入的数b比软件生成的随机数a小,则输出相应的提示信息。
【程序运行结果】
程序运行结果如图10-1所示,由于前两次都猜错了,所以需要扣除100分,第三次精对了,获得100分,最终的得分是0。
图10-1案例10-1的程序运行结果
10.1.2uniform函数
前面讲解了如何通过random模块的
文档评论(0)