复杂乐透号码生成器-Python

复杂乐透号码生成器-Python,python,random,Python,Random,我年纪大了,正在学习巨蟒来保持旧面条的锋利,我非常喜欢它。我以前从未编码过 我的项目是以产生乐透号码为中心的。挑选5个不重复的随机数非常容易 接下来我想随机生成数字,直到1到70之间的5个数字被生成10次。一旦这个号码被生成10次,它将是我的第一个乐透号码等等 看看我残忍的穴居人解决方案。它是有效的,我只是从打印的列表中选择前5个。第一个是超级数字列表。但我正在寻找“美化”和/或Pythony解决方案的提示 多谢 幽灵守望者 #My Lotto Numbers import random c

我年纪大了,正在学习巨蟒来保持旧面条的锋利,我非常喜欢它。我以前从未编码过

我的项目是以产生乐透号码为中心的。挑选5个不重复的随机数非常容易

接下来我想随机生成数字,直到1到70之间的5个数字被生成10次。一旦这个号码被生成10次,它将是我的第一个乐透号码等等

看看我残忍的穴居人解决方案。它是有效的,我只是从打印的列表中选择前5个。第一个是超级数字列表。但我正在寻找“美化”和/或Pythony解决方案的提示

多谢 幽灵守望者

#My Lotto Numbers

import random

count = 0

lotteryNumbers = []
megaNumber = []

x1 = 0
x2 = 0
x3 = 0
x4 = 0
x5 = 0
x6 = 0
x7 = 0
x8 = 0
x9 = 0
x10 = 0
x11 = 0
x12 = 0
x13 = 0
x14 = 0
x15 = 0
x16 = 0
x17 = 0
x18 = 0
x19 = 0
x20 = 0
x21 = 0
x22 = 0
x23 = 0
x24 = 0
x25 = 0
x26 = 0
x27 = 0
x28 = 0
x29 = 0
x30 = 0
x31 = 0
x32 = 0
x33 = 0
x34 = 0
x35 = 0
x36 = 0
x37 = 0
x38 = 0
x39 = 0
x40 = 0
x41 = 0
x42 = 0
x43 = 0
x44 = 0
x45 = 0
x46 = 0
x47 = 0
x48 = 0
x49 = 0
x50 = 0
x51 = 0
x52 = 0
x53 = 0
x54 = 0
x55 = 0
x56 = 0
x57 = 0
x58 = 0
x59 = 0
x60 = 0
x61 = 0
x62 = 0
x63 = 0
x64 = 0
x65 = 0
x66 = 0
x67 = 0
x68 = 0
x69 = 0
x70 = 0

y1 = 0
y2 = 0
y3 = 0
y4 = 0
y5 = 0
y6 = 0
y7 = 0
y8 = 0
y9 = 0
y10 = 0
y11 = 0
y12 = 0
y13 = 0
y14 = 0
y15 = 0
y16 = 0
y17 = 0
y18 = 0
y19 = 0
y20 = 0
y21 = 0
y22 = 0
y23 = 0
y24 = 0
y25 = 0

while count < 400:
    count += 1
    number = random.randint(1,70)
    #print (number)
    if number == 1:
        x1 += 1
    elif number == 2:
        x2 += 1
    elif number == 3:
        x3 += 1
    elif number == 4:
        x4 += 1
    elif number == 5:
        x5 += 1
    elif number == 6:
        x6 += 1
    elif number == 7:
        x7 += 1
    elif number == 8:
        x8 += 1
    elif number == 9:
        x9 += 1
    elif number == 10:
        x10 += 1
    elif number == 11:
        x11 += 1
    elif number == 12:
        x12 += 1
    elif number == 13:
        x13 += 1
    elif number == 14:
        x14 += 1
    elif number == 15:
        x15 += 1
    elif number == 16:
        x16 += 1
    elif number == 17:
        x17 += 1
    elif number == 18:
        x18 += 1
    elif number == 19:
        x19 += 1
    elif number == 20:
        x20 += 1
    elif number == 21:
        x21 += 1
    elif number == 22:
        x22 += 1
    elif number == 23:
        x23 += 1
    elif number == 24:
        x24 += 1
    elif number == 25:
        x25 += 1
    elif number == 26:
        x26 += 1
    elif number == 27:
        x27 += 1
    elif number == 28:
        x28 += 1
    elif number == 29:
        x29 += 1
    elif number == 30:
        x30 += 1
    elif number == 31:
        x31 += 1
    elif number == 32:
        x32 += 1
    elif number == 33:
        x33 += 1
    elif number == 34:
        x34 += 1
    elif number == 35:
        x35 += 1
    elif number == 36:
        x36 += 1
    elif number == 37:
        x37 += 1
    elif number == 38:
        x38 += 1
    elif number == 39:
        x39 += 1
    elif number == 40:
        x40 += 1
    elif number == 41:
        x41 += 1
    elif number == 42:
        x42 += 1
    elif number == 43:
        x43 += 1
    elif number == 44:
        x44 += 1
    elif number == 45:
        x45 += 1
    elif number == 46:
        x46 += 1
    elif number == 47:
        x47 += 1
    elif number == 48:
        x48 += 1
    elif number == 49:
        x49 += 1
    elif number == 50:
        x50 += 1
    elif number == 51:
        x51 += 1
    elif number == 52:
        x52 += 1
    elif number == 53:
        x53 += 1
    elif number == 54:
        x54 += 1
    elif number == 55:
        x55 += 1
    elif number == 56:
        x56 += 1
    elif number == 57:
        x57 += 1
    elif number == 58:
        x58 += 1
    elif number == 59:
        x59 += 1
    elif number == 60:
        x60 += 1
    elif number == 61:
        x61 += 1
    elif number == 62:
        x62 += 1
    elif number == 63:
        x63 += 1
    elif number == 64:
        x64 += 1
    elif number == 65:
        x65 += 1
    elif number == 66:
        x66 += 1
    elif number == 67:
        x67 += 1
    elif number == 68:
        x68 += 1
    elif number == 69:
        x69 += 1
    elif number == 70:
        x70 += 1
    if x1 == 10:
        lotteryNumbers.append(number)#print
    elif x2 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 2")
    elif x3 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 3")
    elif x4 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 4")
    elif x5 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 5")
    elif x6 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 6")
    elif x7 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 7")
    elif x8 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 8")
    elif x9 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 9")
    elif x10 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 10")
    elif x11 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 11")
    elif x12 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 12")
    elif x13 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 13")
    elif x14 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 14")
    elif x15 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 15")
    elif x16 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 16")
    elif x17 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 17")
    elif x18 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 18")
    elif x19 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 19")
    elif x20 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 20")
    elif x21 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 21")
    elif x22 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 22")
    elif x23 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 23")
    elif x24 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 24")
    elif x25 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 25")
    elif x26 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 26")
    elif x27 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 27")
    elif x28 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 28")
    elif x29 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 29")
    elif x30 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 30")
    elif x31 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 31")
    elif x32 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 32")
    elif x33 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 33")
    elif x34 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 34")
    elif x35 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 35")
    elif x36 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 36")
    elif x37 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 37")
    elif x38 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 38")
    elif x39 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 39")
    elif x40 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 40")
    elif x41 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 41")
    elif x42 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 42")
    elif x43 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 43")
    elif x44 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 44")
    elif x45 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 45")
    elif x46 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 46")
    elif x47 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 47")
    elif x48 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 48")
    elif x49 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 49")
    elif x50 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 50")
    elif x51 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 51")
    elif x52 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 52")
    elif x53 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 53")
    elif x54 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 54")
    elif x55 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 55")
    elif x56 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 56")
    elif x57 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 57")
    elif x58 == 10:
        lotteryNumbers.append(number)# print ("Your 1st Lucky number = 58")
    elif x59 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 59")
    elif x60 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 60")
    elif x61 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 61")
    elif x62 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 62")
    elif x63 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 63")
    elif x64 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 64")
    elif x65 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 65")
    elif x66 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 66")
    elif x67 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 67")
    elif x68 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 68")
    elif x69 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 69")
    elif x70 == 10:
        lotteryNumbers.append(number)#print ("Your 1st Lucky number = 70")
    meganumber = random.randint(1,70)
    #print(meganumber)
    #print (number)
    if meganumber == 1:
        y1 += 1
    elif meganumber == 2:
        y2 += 1
    elif meganumber == 3:
        y3 += 1
    elif meganumber == 4:
        y4 += 1
    elif meganumber == 5:
        y5 += 1
    elif meganumber == 6:
        y6 += 1
    elif meganumber == 7:
        y7 += 1
    elif meganumber == 8:
        y8 += 1
    elif meganumber == 9:
        y9 += 1
    elif meganumber == 10:
        y10 += 1
    elif meganumber == 11:
        y11 += 1
    elif meganumber == 12:
        y12 += 1
    elif meganumber == 13:
        y13 += 1
    elif meganumber == 14:
        y14 += 1
    elif meganumber == 15:
        y15 += 1
    elif meganumber == 16:
        y16 += 1
    elif meganumber == 17:
        y17 += 1
    elif meganumber == 18:
        y18 += 1
    elif meganumber == 19:
        y19 += 1
    elif meganumber == 20:
        y20 += 1
    elif meganumber == 21:
        y21 += 1
    elif meganumber == 22:
        y22 += 1
    elif meganumber == 23:
        y23 += 1
    elif meganumber == 24:
        y24 += 1
    elif meganumber == 25:
        y25 += 1
    if y1 == 10:
        megaNumber.append(meganumber)
    elif y2 == 10:
        megaNumber.append(meganumber)
    elif y3 == 10:
        megaNumber.append(meganumber)
    elif y4 == 10:
        megaNumber.append(meganumber)
    elif y5 == 10:
        megaNumber.append(meganumber)
    elif y6 == 10:
        megaNumber.append(meganumber)
    elif y7 == 10:
        megaNumber.append(meganumber)
    elif y8 == 10:
        megaNumber.append(meganumber)
    elif y9 == 10:
        megaNumber.append(meganumber)
    elif y10 == 10:
        megaNumber.append(meganumber)
    elif y11 == 10:
        megaNumber.append(meganumber)
    elif y12 == 10:
        megaNumber.append(meganumber)
    elif y13 == 10:
        megaNumber.append(meganumber)
    elif y14 == 10:
        megaNumber.append(meganumber)
    elif y15 == 10:
        megaNumber.append(meganumber)
    elif y16 == 10:
        megaNumber.append(meganumber)
    elif y17 == 10:
        megaNumber.append(meganumber)
    elif y18 == 10:
        megaNumber.append(meganumber)
    elif y19 == 10:
        megaNumber.append(meganumber)
    elif y20 == 10:
        megaNumber.append(meganumber)
    elif y21 == 10:
        megaNumber.append(meganumber)
    elif y22 == 10:
        megaNumber.append(meganumber)
    elif y23 == 10:
        megaNumber.append(meganumber)
    elif y24 == 10:
        megaNumber.append(meganumber)
    elif y25 == 10:
        megaNumber.append(meganumber)
print("Today's Lottery Numbers Are: ")
print(lotteryNumbers)
print("Today's MegaNumber is: ")
print(megaNumber)

很高兴听到您正在学习Python,欢迎使用StackOverflow!您可能听说过,如果必须多次键入某个内容,则可能是做错了某个内容,而您的代码就是一个很好的示例,说明了如何通过使用适当的工具来简化操作

你想计算随机数。这里已经有了
计数器
对象(可以在
集合
模块中找到),这将是理想的选择,但是您希望自己构建东西,所以让我们这样做:

我们不需要构建一堆硬编码变量(
x1
x2
等),而是需要一个数字列表。让我们称之为数字,因为这比x更好:

numbers = [0] * 71
而不是
while
循环,我将使用
for
循环:

for count in range(400):
    number = random.randint(1,70)
    numbers[number] += 1
这就是生成数字所需的全部操作

您可以检查当前数字是否已达到
10
,如下所示:

    if numbers[number] == 10:
        lotterynumbers.append(number)
等等。我希望这能帮助你开始。我不想破坏发现其余部分的乐趣。

import random
import random

winningLottoNumbers = []
winningMegaNumbers = []

lottoNumbers = [0] * 70
megaNumbers = [0] * 25

for i in range(400):
     lottoNum = random.randint(0,69)
     lottoNumbers[lottoNum] += 1
     megaNum = random.randint(0,69)
     if(megaNum < 25):
         megaNumbers[megaNum] += 1


for i in range(len(lottoNumbers)):
    if(lottoNumbers[i] >= 10):
        winningLottoNumbers.append(i)

for i in range(len(megaNumbers)):
    if(megaNumbers[i] >= 10):
        winningMegaNumbers.append(i)

print(winningLottoNumbers)
print(winningMegaNumbers)
WinningLottonMembers=[] winningMegaNumbers=[] 乐透会员=[0]*70 兆位数=[0]*25 对于范围(400)内的i: lottoNum=random.randint(0,69) lottoNumbers[lottoNum]+=1 megaNum=random.randint(0,69) 如果(兆数值<25): 兆位数[megaNum]+=1 对于范围内的i(len(lottoNumbers)): 如果(lottoNumbers[i]>=10): WinningLottonMembers.append(一) 对于范围内的i(len(megaNumbers)): 如果(兆位数[i]>=10): winningMegaNumbers.append(i) 打印(奖券号码) 打印(Winning Meganumbers)
欢迎您的到来,并尽最大努力!下面是一个更简洁的程序版本,可以实现相同的结果:

    import random

    lotteryNumbers = []
    megaNumber = []

    # For convenience, you can use dictionaries to store key value pairs, for example z = {1: 5, 2: 8, 3: 10}
    # In the example, the key number 1 has a value of 5, the key number 2 has a value of 8, and the key number 3 has a value of 10, so it would be your lucky number. 
    # In Python, dictionaries are represented by two curly brackets like so:
    x = {}
    y = {}

    # Populate the two dictionaries with numbers from 1 to 70 included:
    for i in range(1, 71):
        x[i] = 0  # Each key number will initially have the value of 0;
        y[i] = 0

    # Your main loop, simplified:
    while len(lotteryNumbers)<5:
        # The loop will keep running as long as lotteryNumbers contains less than five numbers.
        # When the five numbers have been appended to the list, the loop will stop.

        number = random.randint(1,70)

        x[number] += 1  # x[number] gets you the key number's value, e.g. z[1] was 5 in the example.

        # There's no need to check the value of all key numbers with every loop
        # You can just check the value that's been updated:
        if x[number] == 10:
            lotteryNumbers.append(number)

    # Now do the same for the y dictionary, only this time you loop until the list contains only one number:
    while len(megaNumber)<1:
        meganumber = random.randint(1,70)
        y[meganumber] += 1
        if y[meganumber] == 10:
            megaNumber.append(meganumber)

    print("Today's Lottery Numbers Are: ")
    print(lotteryNumbers)
    print("Today's MegaNumber is: ")
    print(megaNumber)
随机导入
乐透号码=[]
兆位数=[]
#为了方便起见,您可以使用字典来存储键值对,例如z={1:5,2:8,3:10}
#在本例中,钥匙编号1的值为5,钥匙编号2的值为8,钥匙编号3的值为10,因此它将是您的幸运号码。
#在Python中,字典由两个花括号表示,如下所示:
x={}
y={}
#使用1到70之间的数字填充两个词典:
对于范围(1,71)内的i:
x[i]=0#每个键号最初的值为0;
y[i]=0
#您的主循环,简化:

而len(lotteryNumbers)将所有y
n
和x
n
变量转换为列表将是一个良好的开端。然后,你可以在列表中循环,使你的代码更短。你可以做的最重要的事情是把所有的x和y变量压缩成列表,然后这些变量的数字部分就是一个索引。这也将把那些长if语句浓缩为短循环。为我将要做的人造和平道歉。谢谢宙斯先生和蜥蜴比尔。现在就开始,太棒了!蒂姆·皮茨克。现在就开始工作。我知道有一个更好的方法。很好的答案!在解释和不给出解决方案之间取得了很好的平衡@SpookyWatcher-欢迎使用Python!你们是最棒的!!非常感谢您提供解决方案的指导。这是我在一小时内想到的!再次谢谢你,蒂姆!非常好的帮助!我已经发布了修改后的代码,非常棒。
    import random

    lotteryNumbers = []
    megaNumber = []

    # For convenience, you can use dictionaries to store key value pairs, for example z = {1: 5, 2: 8, 3: 10}
    # In the example, the key number 1 has a value of 5, the key number 2 has a value of 8, and the key number 3 has a value of 10, so it would be your lucky number. 
    # In Python, dictionaries are represented by two curly brackets like so:
    x = {}
    y = {}

    # Populate the two dictionaries with numbers from 1 to 70 included:
    for i in range(1, 71):
        x[i] = 0  # Each key number will initially have the value of 0;
        y[i] = 0

    # Your main loop, simplified:
    while len(lotteryNumbers)<5:
        # The loop will keep running as long as lotteryNumbers contains less than five numbers.
        # When the five numbers have been appended to the list, the loop will stop.

        number = random.randint(1,70)

        x[number] += 1  # x[number] gets you the key number's value, e.g. z[1] was 5 in the example.

        # There's no need to check the value of all key numbers with every loop
        # You can just check the value that's been updated:
        if x[number] == 10:
            lotteryNumbers.append(number)

    # Now do the same for the y dictionary, only this time you loop until the list contains only one number:
    while len(megaNumber)<1:
        meganumber = random.randint(1,70)
        y[meganumber] += 1
        if y[meganumber] == 10:
            megaNumber.append(meganumber)

    print("Today's Lottery Numbers Are: ")
    print(lotteryNumbers)
    print("Today's MegaNumber is: ")
    print(megaNumber)