续上回 python 双色球 大乐透5注随机选号之排除历史开奖号码

仅供 Python编程语言 学习、实践、交流用!
一、用到的库;

import os
import time
import random
from tkinter import messagebox

二、定义的相关函数;

def generate(ball_max, num):  #随机生成球号
    ball = random.sample([i for i in range(1, ball_max + 1)], k=num)
    ball.sort()
    return ball

def make_big_letou():   #大乐透
    return generate(35, 5) + generate(12, 2)

def tow_ball():    #双色球
    return generate(33, 6) + generate(16, 1)

def getPwd(dict):  # 历史开奖数据处理
    with open(dict, 'r') as f:
        for pwd in f:
            yield pwd.strip()

def display1(history):   #显示大乐透球号码
    global d
    t = make_big_letou()[:len(make_big_letou())]
    a, b, c, d, e, f, g = t
    A = (f'{a:0>2d}' + ' ')
    B = (f'{b:0>2d}' + ' ')
    C = (f'{c:0>2d}' + ' ')
    D = (f'{d:0>2d}' + ' ')
    E = (f'{e:0>2d}' + ' ')
    F = (f'{f:0>2d}' + ' ')
    G = (f'{g:0>2d}' + ' ')
    m = str(A + B + C + D + E + F + G)
    for i in history:
        if m != i:
            d = m
        else:
            file.write("出现重复!!!")
    file.write(d + '\n')

def display2(history):   #显示双色球球号码
    global s
    t = tow_ball()[:len(tow_ball())]
    a, b, c, d, e, f, g = t
    A = (f'{a:0>2d}' + ' ')
    B = (f'{b:0>2d}' + ' ')
    C = (f'{c:0>2d}' + ' ')
    D = (f'{d:0>2d}' + ' ')
    E = (f'{e:0>2d}' + ' ')
    F = (f'{f:0>2d}' + ' ')
    G = (f'{g:0>2d}' + ' ')
    m = str(A + B + C + D + E + F + G)
    for i in history:
        if m != i:
            s = m
        else:
            file.write("出现重复!!!")
    file.write(s + '\n')

三、程序入口;

if __name__ == "__main__":   #程序入口
    dict1 = "C:\\Users\\Administrator\\Desktop\\大乐透历史开奖数据.txt"
    dict2 = "C:\\Users\\Administrator\\Desktop\\双色球历史开奖数据.txt"
    if not os.access(dict1,os.X_OK):  #判断历史数据是否存在
        messagebox.showinfo('小叶提醒:', '大乐透历史开奖数据不存在!!!')
    elif not os.access(dict2,os.X_OK):
        messagebox.showinfo('小叶提醒:', '双色球历史开奖数据不存在!!!')
    else:
        desktop_path = "C:\\Users\\Administrator\\Desktop\\"  # 定义一个变量,赋值一个路径,用于存放打印结果
        full_path = desktop_path + '双色球 大乐透 5注随机选号 避开历史开奖.txt'  # 创建一个txt文件
        file = open(full_path, 'w')  # 打开txt文档,写入数据
        file.write('大乐透选号日期:' + time.strftime('%Y-%m-%d %H:%M:%S') + '\n')
        for x in range(5):  # 21425712
            history = getPwd(dict1)
            display1(history)
        file.write('\n双色球选号日期:' + time.strftime('%Y-%m-%d %H:%M:%S') + '\n')
        for x in range(5):  # 21425712
            history = getPwd(dict2)
            display2(history)
        file.close()
        messagebox.showinfo('小叶提醒:', '已随机生成 双色球、大乐透 号码,请查看!!!')
        os.startfile(full_path)
    os._exit(1)

四、运行效果

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 2

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!