python - 复杂的乐透号码生成器 - Python

标签 python random

我已经老了,正在学习 python 来保持旧面条的锋利,并且非常享受它。我以前从未编码过。

我的项目主要是为了好玩而生成乐透号码。选择 5 个不重复的随机数字非常容易。

接下来我想随机生成数字,直到生成 10 次从 1 到 70 的 5 个数字。一旦该号码生成 10 次,它将是我的第一个乐透号码,依此类推。

看看我残酷的穴居人解决方案。它有效,我只需从打印列表中选择前 5 个即可。这是 super 数字列表中的第一个。但我正在寻找“美化”和/或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)

感谢大家的大力帮助。尤其是那些给出方向但没有解决方案的人。这是我在短短 1 小时内想出的结果。

#My Lotto Numbers

import random

lottoNumbers = []
lottoMega = []
lottoNumberscondensed = []
numbersX = [0] * 71
numbersY = [0] * 26

for count in range(800):
    number = random.randint(1,70)
    numbersX[number] += 1
    if numbersX[number] == 10:
        lottoNumbers.append(number)
    number2 = random.randint(1,25)
    numbersY[number2] += 1
    if numbersY[number2] == 10:
        lottoMega.append(number2)
for item1 in lottoNumbers[0:5]:
    lottoNumberscondensed.append(item1)
lottoNumberscondensed.sort()
print("Todays Lotto Numers are: ")
print(lottoNumberscondensed)
for item2 in lottoMega[0:1]:
    print("Todays Mega Numer is: ")
    print(item2)

最佳答案

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

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

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

numbers = [0] * 71

我会使用 for 循环,而不是 while 循环:

for count in range(400):
    number = random.randint(1,70)
    numbers[number] += 1

这就是生成数字所需要做的全部工作。

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

    if numbers[number] == 10:
        lotterynumbers.append(number)

等等。我希望这有助于您入门。我不想破坏了解其余内容的乐趣。

关于python - 复杂的乐透号码生成器 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52952653/

相关文章:

Linux 上的 Python SQLAlchemy 内存泄漏

c - 将数字放置在随机坐标的“开放”槽中

python - 随机陈述询问相同的陈述? Python

python - 将行添加到 pandas 数据框,其中列包含应该是另一行的附加值?

python - 图像分类模型的网格搜索超参数

python - Numpy,避免3d数组差异嵌套求和中的循环

python - 如何获取不同操作系统中的字体目录路径?

emacs - 在循环中生成唯一的随机数

c# - Random().Next() 流需要多长时间才能重复?

c++ - 生成[0,1)之间的随机数c++