python练手脚本之双色球

简介: python练手脚本之双色球

640.png

背景:


新写的项目还在跟前端的小伙伴沟通,等待她帮我调试完毕。

所以最近不是那么忙。


没事翻翻之前写的脚本,寻思开源一些给大家参考。


作为运维的我们经常要写各种脚本来帮助大家工作,当然写脚本是非常容易的,但是想要写好却又不是那么简单。


下面这个是我之前写的一个双色球脚本,逻辑简单,但是这里主要是锻炼使用argparse模块的add_argument方法。


它可以让你的脚本多了很多可选参数, 这样脚本的扩展性将会非常高。


脚本需求可以一次指定随机多少注,可以指定蓝球几个和红球,剩下的随机。或者全部都是随机都可以。


import random
import argparse
# 双色球规则
red_ball_range = range(1, 34)
blue_ball_range = range(1, 17)
num_red_balls = 6
num_blue_balls = 1
def generate_lottery(red_nums, blue_nums):
    all_red = set(red_ball_range)
    all_blue = set(blue_ball_range)
    # 指定了部分红球和蓝球
    if red_nums and blue_nums:
        red_balls = set(red_nums)
        blue_balls = set(blue_nums)
    else:
        red_balls = set()
        blue_balls = set()
    # 随机生成剩余的红球和蓝球
    red_balls = red_balls.union(set(random.sample(all_red - red_balls, num_red_balls - len(red_balls))))
    blue_balls = blue_balls.union(set(random.sample(all_blue - blue_balls, num_blue_balls - len(blue_balls))))
    return sorted(red_balls), sorted(blue_balls)
if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='生成指定数量的双色球号码')
    parser.add_argument('--red-num', nargs='+', type=int, help='指定红球号码')
    parser.add_argument('--blue-num', nargs='+', type=int, help='指定蓝球号码')
    parser.add_argument('--num-groups', type=int, default=1, help='生成号码组数')
    args = parser.parse_args()
    for i in range(args.num_groups):
        red, blue = generate_lottery(args.red_num, args.blue_num)
        print(f'第 {i + 1} 组号码:')
        print('红球:', end='')
        for num in red:
            print(f'{num:02d}', end=' ')
        print('\n蓝球:', end='')
        for num in blue:
            print(f'{num:02d}', end=' ')
        print('\n')


具体执行命令:


python3.9 shuangseqiu.py --red-num 2 7 --blue-num 5 --num-groups 3


其中:


--red-num 2 7 --blue-num 5 --num-groups 3


上面这三个可选参数。

结果如下:

640.png


如果该文章对各位有帮助,也希望大家能予以关注分享,以便让波哥出更多更好的作品回馈大家。谢谢各位!~




相关文章
|
2月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
98 1
思科设备巡检命令Python脚本大集合
|
1月前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
17天前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
63 7
21个Python脚本自动执行日常任务(2)
|
1月前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
132 68
|
7天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
53 5
|
24天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
34 7
|
29天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
1月前
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
1月前
|
存储 Python
Python自动化脚本编写指南
【10月更文挑战第38天】本文旨在为初学者提供一条清晰的路径,通过Python实现日常任务的自动化。我们将从基础语法讲起,逐步引导读者理解如何将代码块组合成有效脚本,并探讨常见错误及调试技巧。文章不仅涉及理论知识,还包括实际案例分析,帮助读者快速入门并提升编程能力。
77 2
|
1月前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
90 3