问题1,随机生成可重复的一组数

方法一:使用 random.choices 函数

import random# 生成10个可以重复的数repeated_random_numbers = random.choices(range(1, 11), k=10)print("生成的可重复数:", repeated_random_numbers)
生成的可重复数: [9, 3, 7, 6, 1, 9, 2, 9, 1, 10]

方法二:使用 numpy 库的 np.random.choice 函数

import numpy as np# 生成10个可以重复的数repeated_random_numbers_np = np.random.choice(range(1, 11), size=10)print("生成的可重复数:", repeated_random_numbers_np)
生成的可重复数: [8 4 3 2 1 7 8 6 8 6]

方法三:使用列表生成式和 random.randint 函数

import random# 生成10个可以重复的数repeated_random_numbers_alt = [random.randint(1, 10) for _ in range(10)]print("生成的可重复数:", repeated_random_numbers_alt)
生成的可重复数: [5, 1, 5, 1, 2, 10, 8, 5, 10, 6]

问题2,随机生成不可重复的一组数

方法一:使用 random.sample 函数

import random# 生成10个不重复的数unique_random_numbers = random.sample(range(1, 11), 10)print("生成的不重复数:", unique_random_numbers)
生成的不重复数: [3, 6, 8, 9, 7, 4, 1, 5, 10, 2]

方法二:使用 numpy 库的 np.random.choice 函数

import numpy as np# 生成10个不重复的数unique_random_numbers_np = np.random.choice(range(1, 11), size=10, replace=False)print("生成的不重复数:", unique_random_numbers_np)
生成的不重复数: [10796241835]