鱼C论坛

 找回密码
 立即注册
查看: 1411|回复: 2

[已解决]不是很理解randrange模块,麻烦各位大佬解惑

[复制链接]
发表于 2023-11-13 15:06:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random
random.randrange(1,100,2)

以上程序为什么出来的结果会是奇数?不是应该是2的指定递增基数吗?

random.randrange(0,100,2)

为什么把开始值将1改成0,出来的结果就是随机偶数?开始和结果不应该只是范围值吗?影响随机数的不应该是最后的step吗?
最佳答案
2023-11-13 15:06:48
random.randrange函数的工作原理是这样的:

- random.randrange(start, stop, step) 会返回一个从 start(包括)到 stop(不包括)之间、以 step 为步长的随机整数。

举个例子来解释你的问题:

- 当你使用 random.randrange(1, 100, 2) 时,它会返回一个在1到99之间的随机奇数。因为起始值是1,而步长是2,所以结果只能是1、3、5、7……等奇数。

- 当你使用 random.randrange(0, 100, 2) 时,它会返回一个在0到98之间的随机偶数。即使你将开始值改成了0,由于步长是2,结果仍然只能是0、2、4、6……等偶数。

因此,random.randrange函数的结果受到起始值和步长的影响,而不只是范围值。步长决定了结果的奇偶性。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-13 15:06:32 | 显示全部楼层
random.randrange(start, stop, step)  函数的作用是返回一个在指定范围内以指定递增基数的随机数。例如, random.randrange(1,100,2)  返回的结果为在1到100之间,以2为递增基数的随机奇数。

对于你的第一个问题, random.randrange(1,100,2)  为什么结果会是奇数,这是因为 start  参数指定了范围内的起始值, stop  参数指定了范围内的结束值, step  参数指定了递增基数。在这个例子中,从1开始,到100结束,以2为递增基数,因此返回的结果是在这个范围内以2为递增基数的随机奇数。

对于你的第二个问题, random.randrange(0,100,2)  为什么把开始值将1改成0,出来的结果就是随机偶数,这是因为 start  参数指定了范围内的起始值, stop  参数指定了范围内的结束值, step  参数指定了递增基数。在这个例子中,从0开始,到100结束,以2为递增基数,因此返回的结果是在这个范围内以2为递增基数的随机偶数。

总结来说, random.randrange(start, stop, step)  函数中的 start  参数指定了范围内的起始值, stop  参数指定了范围内的结束值, step  参数指定了递增基数,这三个参数共同影响了返回的随机数的取值范围和递增规律。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-13 15:06:48 | 显示全部楼层    本楼为最佳答案   
random.randrange函数的工作原理是这样的:

- random.randrange(start, stop, step) 会返回一个从 start(包括)到 stop(不包括)之间、以 step 为步长的随机整数。

举个例子来解释你的问题:

- 当你使用 random.randrange(1, 100, 2) 时,它会返回一个在1到99之间的随机奇数。因为起始值是1,而步长是2,所以结果只能是1、3、5、7……等奇数。

- 当你使用 random.randrange(0, 100, 2) 时,它会返回一个在0到98之间的随机偶数。即使你将开始值改成了0,由于步长是2,结果仍然只能是0、2、4、6……等偶数。

因此,random.randrange函数的结果受到起始值和步长的影响,而不只是范围值。步长决定了结果的奇偶性。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 04:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表