所以,我需要一个学校代码,我需要使用randint生成4个随机数,它们不能重复,我似乎无法理解它。 - 干杯
答案 0 :(得分:3)
使用random.sample
从列表中随机选择4个元素。
import random
low, high = 0, 1000
w, x, y, z = random.sample(range(low, high) , 4)
将low
和high
设置为您想要抽样的所需范围。
如果你想在很宽的范围内生成任何数字,那么使用randint
这是一个不那么浪费的解决方案(很抱歉没有看到这个)。
numbers = set()
while len(numbers) < 4:
num = random.randint(low, high)
if num not in numbers:
numbers.add(num)
w, x, y, z = numbers
答案 1 :(得分:3)
我们可以通过使用while循环创建一个随机数来完成4个随机数的列表,然后只有在列表中不存在该数字时才将该数字附加到列表中。如果我们可以将x -= 1
添加到列表x == 0
,那么while循环将停止,代码将打印出列表。
每次都会有所不同。
import random
x = 4
list_of_random_numbers = []
while x != 0:
new_random_number = random.randint(0,999) # you can define any range of numbers here.
if new_random_number not in list_of_random_numbers:
list_of_random_numbers.append(new_random_number)
x -= 1
print (list_of_random_numbers)
编辑:
同样正如PM 2Ring
所述,您也可以检查列表的长度:
import random
list_of_random_numbers = []
while len(list_of_random_numbers) < 4:
new_random_number = random.randint(0,999) # you can define any range of numbers here.
if new_random_number not in list_of_random_numbers:
list_of_random_numbers.append(new_random_number)
print (list_of_random_numbers)