模拟概率论中的无放回简单随机抽样问题。
问题:从1,2,3,4,5中无放回的抽取三个数字,组成一个三位数,并输出。
顺序编程,易理解
import random
## 1、目标数字集合
number_set = [1, 2, 3, 4, 5]
## 2、抓取第一个数字
first_num = random.choice(number_set)
## 3、从数字集合中删除第一个数字
number_set.remove(first_num)
## 4、抓取第二个数字
second_num = random.choice(number_set)
## 5、从数字集合中删除第二个数字
number_set.remove(second_num)
## 6、抓取第三个数字
third_num = random.choice(number_set)
## 7、从数字集合中删除第三个数字
number_set.remove(third_num)
## 8、数字组合成结果数字
result = int(str(first_num) + str(second_num) + str(third_num))
函数编程,易调用
import random
def rand_sampling(number_set):
'''
:param number_set: 数字列表
:return: 组合数
'''
## 抓取第一个数字
first_num =