python实现大乐透号码生成器

题目要求:使用random模块模拟大乐透号码生成器。选号规则:前区在1-35范围内随机产生不重复的5个号码,后区在1-12范围内随机产生不重复的2个号码。

import random
def number():
    a=[random.randint(1,35) for i in range(5)]
    l=[]
    for i in a:
        if i not in l:
            l.append(i)
        else:
            i=random.randint(1,35)
            l.append(i)
        l.sort() 
    a=[str(i) for i in l]
    b=[random.randint(1,12) for i in range(2)]
    o=[]
    for i in b:
        if i not in o:
            o.append(i)
        else:
            i=random.randint(1,12)
            o.append(i)
        o.sort()    
    b=[str(i) for i in o]
    c=[" "*5]
    for i in range(5):
        if len(a[i])==2:
            for j in range(2):
                if len(b[j])==2:
                    pass 
                else:
                    b[j]='0'+b[j]
        else:
            a[i]='0'+a[i]    
    g=a+c+b
    for i in g:
        print(i,end=" ")
print("大乐透号码生成器")
k=int(input("请输入要生成的大乐透号码注数:"))
for i in range(k):
    number()
    print("")        

运行结果 

大乐透号码生成器
请输入要生成的大乐透号码注数:10
08 14 25 30 31       03 08 
04 25 26 30 31       01 07 
07 10 19 29 30       08 10 
02 13 15 24 25       01 05 
01 04 13 22 29       03 06 
01 06 08 10 14       01 09 
07 09 26 27 30       02 05 
01 03 12 16 23       03 10 
04 06 09 16 19       09 11 
06 14 32 34 35       01 06 

 

你可能感兴趣的:(学习,python,random)