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


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




相关文章
|
17天前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
55 1
思科设备巡检命令Python脚本大集合
|
2月前
|
Python
用python转移小文件到指定目录并压缩,脚本封装
这篇文章介绍了如何使用Python脚本将大量小文件转移到指定目录,并在达到大约250MB时进行压缩。
38 2
|
13天前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
113 68
|
2月前
|
运维 Prometheus 监控
自动化运维的魔法:使用Python脚本简化日常任务
【8月更文挑战第50天】在数字化时代的浪潮中,自动化运维成为提升效率、减少人为错误的利器。本文将通过一个实际案例,展示如何利用Python脚本实现自动化部署和监控,从而让运维工作变得更加轻松和高效。我们将一起探索代码的力量,解锁自动化运维的神秘面纱,让你的工作环境焕然一新。
154 81
|
4天前
|
缓存 运维 NoSQL
python常见运维脚本_Python运维常用脚本
python常见运维脚本_Python运维常用脚本
11 3
|
4天前
|
数据采集 JSON 数据安全/隐私保护
Python常用脚本集锦
Python常用脚本集锦
10 2
|
5天前
|
运维 监控 应用服务中间件
自动化运维:如何利用Python脚本提升工作效率
【10月更文挑战第30天】在快节奏的IT行业中,自动化运维已成为提升工作效率和减少人为错误的关键技术。本文将介绍如何使用Python编写简单的自动化脚本,以实现日常运维任务的自动化。通过实际案例,我们将展示如何用Python脚本简化服务器管理、批量配置更新以及监控系统性能等任务。文章不仅提供代码示例,还将深入探讨自动化运维背后的理念,帮助读者理解并应用这一技术来优化他们的工作流程。
|
6天前
|
运维 监控 Linux
自动化运维:如何利用Python脚本优化日常任务##
【10月更文挑战第29天】在现代IT运维中,自动化已成为提升效率、减少人为错误的关键技术。本文将介绍如何通过Python脚本来简化和自动化日常的运维任务,从而让运维人员能够专注于更高层次的工作。从备份管理到系统监控,再到日志分析,我们将一步步展示如何编写实用的Python脚本来处理这些任务。 ##
|
27天前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
48 1
Python实用记录(十三):python脚本打包exe文件并运行
|
12天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
16 1