# 设计一个函数可以机选生成N注号码. 双色球-6个红色球(1-33)和1个蓝色球(1-16) ,红色球不可重复选
import random
def choose_num():
# 栈(stack) 堆(heap) 数据段 制度数据段 代码段
# 或者分为 栈 堆 静态区
# 变量 - 对象的引用 - 对象的地址 - 栈
# 对象 - 堆 - 获取更大的存储空间
list1 = []
list2 = [x + 1 for x in range(33)]
list_num = random.sample(list2, 5)
list1.append(sorted(list_num))
num1 = random.randint(1,16)
list1.append([num1])
return list1
def multiple_choose(n = 1):
list3 = []
count = 0
while 1:
if count == n:
return list3
if choose_num() not in list3:
list3.append(choose_num())
count += 1
if __name__ == '__main__':
n = int(input('请问需要选几注号码'))
print(multiple_choose(n))
#########################以下为骆总的代码###################################
from random import randint
def display(balls):
for index, ball in enumerate(balls):
if index == len(balls) - 1:
print('|', end=' ')
print('%02d' % ball, end=' ')
print()
def random_select():
red_balls = list(range(1, 34))
selected_balls = []
for _ in range(6):
index = randint(0, len(red_balls) - 1)
selected_balls.append(red_balls[index])
del red_balls[index]
selected_balls.sort()
selected_balls.append(randint(1, 16))
return selected_balls
def main():
n = int(input('机选几注:'))
for _ in range(n):
display(random_select())
if __name__ == '__main__':
main()