AizoIzayoi 2023-09-21 07:35 采纳率: 66.7%
浏览 24
已结题

Python使用range和randint生成随机数有什么区别?

Python里使用sample从range生成的一定范围的随机数里选出几个数,和通过for循环使用randint生成随机数有什么区别?种子固定时这两者生成的数值不一样,那应该选择哪一种?


#使用range生成
import random as r
ls = range(1,11)
for i in r.sample(ls,4):  
  print(i)

#使用randint生成
for i in range(4):
  print(r.randint(1,10))
  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-21 08:18
    关注

    引用 皆我百晓生 小程序回复内容作答:
    range是一个生成器函数,它生成一系列连续的数字,而randint是随机生成一个给定范围内的整数。

    使用range生成的随机数,是从给定范围内按照顺序选出指定数量的数。而使用randint生成的随机数,是完全随机的,可以重复。

    当种子固定时,这两种生成的数值都是确定的,但是它们生成的规则不同。使用range和sample生成的随机数是按照给定范围内的顺序选取指定数量的数,而使用randint生成的随机数是完全随机的。

    选择哪一种方法取决于具体的需求。如果需要按照给定范围内的顺序选取随机数,可以使用range和sample的组合。如果需要完全随机的数值,可以使用randint。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 创建了问题 9月21日