kking1 发表于 2023-3-6 17:23:45

怎么生成不同的随机数?

比如在循环里面要生成之间的随机整数,第一次循环得到了2这个随机整数,要求下一次循环得到不为2但是在这个区间的随机整数,以此类推,代码应该怎么写?

wp231957 发表于 2023-3-6 17:30:04

一次生成不行吗

isdkz 发表于 2023-3-6 17:31:54

如果你想在循环里面生成之间的随机整数,你可以先创建一个列表包含这个区间内的所有整数,

然后用sample函数从中选择一个元素,并把它从列表中移除,这样就保证了每次循环得到的随机数都不同。

代码如下:

import random
# 创建一个包含之间所有整数的列表
numbers = list(range(6))
# 循环5次
for i in range(5):
    # 从列表中随机选择一个元素,并把它从列表中移除
    num = random.sample(numbers, 1)
    numbers.remove(num)
    # 打印随机数
    print(num)

tommyyu 发表于 2023-3-6 17:32:41

x = int(input('请输入最小值:'))
y = int(input('请输入最大值:'))
l = list(range(x, y+1))
for i in range(len(l)):
    t = random.randint(0, len(l)-1)
    print(f'第{i+1}次随机,结果为{l}')
    l = l[:t] + l

tsElim 发表于 2023-3-7 08:32:45

设置个变量记录上次的数,这次的数与上次的一样,就跳过本次循环,继续循环再生成一个随机数,继续与上次的数进行比较,不相同就输出
页: [1]
查看完整版本: 怎么生成不同的随机数?