生成数字直到得到7,17,26,28,31,32

2024-04-20 02:45:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个彩票号码生成器,生成数字,直到我得到7,17,26,28,31,32。请张贴完整的代码,而不仅仅是它的一部分,因为我是一个初学者Python程序员。任何帮助都将不胜感激。提前谢谢。这是我的密码:

import random
def nums():
    a=random.randrange(1,6)
    b=random.randrange(1,9)
    c=random.randrange(1,9)
    d=[7,9]
    e=random.choice(d)
    f=random.randrange(8,16)
    g=random.randrange(8,16)
    if a+b+c+e+f+g<46:
        list=[a,b,c,e,f,g]
        random.shuffle(list)
        u=list[0]
        v=list[0]+list[1]
        w=v+list[2]
        x=w+list[3]
        y=x+list[4]
        z=y+list[5]
        print(u,v,w,x,y,z)
    else:
        print("-----------------")
    return
h=0
while(h<200):
    print(h,end='. ')
    nums()
    h=h+1

Tags: 代码import密码def数字randomlist号码
3条回答

您的函数实际上需要return(相对于print)一个列表,以便将它与任何东西进行比较。你知道吗

目前,您的函数将信息输出(到终端),但它不会return将任何数据输出到调用者。你知道吗

如果将此放在nums()函数的末尾:

return [u,v,w,x,y,z]

那么主循环中的比较就应该起作用了。你知道吗

您的nums函数不返回值,因此它隐式返回None 如果要将输出与数字列表进行比较,则需要将其更改为返回数字列表。你知道吗

类似于return [u,v,w,x,y,z]的东西

相关问题 更多 >