下面以逐步增加代码形式演示
import random# 初始化红球样本
sample_redboll = [i for i in range(1, 34)]# 初始化蓝球样本
sample_blueboll = [i for i in range(1, 16)]
def choice_redboll(src: list)->list:
'''
定义函数返回,随机样本红色球,这里不能使用random.choices(),
因为random.choices()是每次从样中取出一个然后又放回去,
再取一个,所以会返回重复值
'''
redboll = random.sample(src, k=6)
return sorted(redboll)
def choice_blueboll(src: list)->str:
'''
定义函数这里取出一个蓝色球
'''
blueboll = random.choice(src)
'''
下面的判断完全是为了后面输出格式好看,没其他作用
即:
1 显示为 01
2 显示为 02
'''
if blueboll < 10:
return f"0{blueboll}"
else:
return f"{blueboll}"
def get_sorted_boll(src: list)->str:
'''
定义排序输出, 其实可以不用这个函数,
但是为了好看,还是排序并且格式化输出
'''
sorted_bools = ""
for i in src:
# 小于10的添加前缀0
if i < 10:
sorted_bools += f"0{i} "
else:
sorted_bools += f"{i} "
# 返回处理结果
return sorted_bools
def random_selection(k: int)->list:
'''
定义函数,拼接红球和蓝球, 并格式化输出,
k,表示需要生成的组数
'''
result = []
for i in range(k):
# 格式化
result.append(f"红球: {get_sorted_boll(choice_redboll(sample_redboll))} 蓝球: {(choice_blueboll(sample_blueboll))}")
# 去重复set()一下组合
return set(result)
def get_result(bolls: str) ->str:
# 写入文本文档中
with open("./result.txt", "a", encoding="utf8") as f:
# 写入组合
f.write(bolls)
# 换行输出
f.write("
")
# 调用函数
if __name__ == "__main__":
# 输入需要生成的数量 k 注
k = 100
for (i, item) in enumerate(random_selection(k), start=1):
print(f"第{i}注 {item}")
get_result(f"第{i}注 {item}")
import random
# 初始化红球样本
sample_redboll = [i for i in range(1, 34)]
# 初始化蓝球样本
sample_blueboll = [i for i in range(1, 16)]
def choice_redboll(src: list)->list:
'''
定义函数返回,随机样本红色球,这里不能使用random.choices(),
因为random.choices()是每次从样中取出一个然后又放回去,
再取一个,所以会返回重复值
'''
redboll = random.sample(src, k=6)
return sorted(redboll)
def choice_blueboll(src: list)->str:
'''
定义函数这里取出一个蓝色球
'''
blueboll = random.choice(src)
'''
下面的判断完全是为了后面输出格式好看,没其他作用
即:
1 显示为 01
2 显示为 02
'''
if blueboll < 10:
return f"0{blueboll}"
else:
return f"{blueboll}"
def get_sorted_boll(src: list)->str:
'''
定义排序输出, 其实可以不用这个函数,
但是为了好看,还是排序并且格式化输出
'''
sorted_bools = ""
for i in src:
# 小于10的添加前缀0
if i < 10:
sorted_bools += f"0{i} "
else:
sorted_bools += f"{i} "
# 返回处理结果
return sorted_bools
def random_selection(k: int)->list:
'''
定义函数,拼接红球和蓝球, 并格式化输出,
k,表示需要生成的组数
'''
result = []
for i in range(k):
# 格式化
result.append(f"红球: {get_sorted_boll(choice_redboll(sample_redboll))} 蓝球: {(choice_blueboll(sample_blueboll))}")
# 去重复set()一下
return set(result)
def get_result(bolls: str) ->str:
# 写入文本文档中
with open("./result.txt", "a", encoding="utf8") as f:
# 写入组合
f.write(bolls)
# 换行输出
f.write("
")
# 调用函数
if __name__ == "__main__":
# 输入需要生成的数量 k 注
k = 100
for (i, item) in enumerate(random_selection(k), start=1):
print(f"第{i}注 {item}")
get_result(f"第{i}注 {item}")
第1注 红球: 17 24 27 28 30 33 蓝球: 15
第2注 红球: 04 07 10 18 22 28 蓝球: 08
第3注 红球: 08 15 17 25 27 28 蓝球: 06
第4注 红球: 01 09 12 17 19 27 蓝球: 13
第5注 红球: 01 06 14 26 28 31 蓝球: 06
第6注 红球: 04 06 11 18 20 25 蓝球: 07
第7注 红球: 01 09 20 22 27 29 蓝球: 02
第8注 红球: 02 06 11 15 16 20 蓝球: 07
第9注 红球: 09 16 18 20 26 29 蓝球: 13
第10注 红球: 09 14 20 24 31 32 蓝球: 04
| 留言与评论(共有 0 条评论) “” |