「Python」控制台建议滚动抽奖

简介: 制作滚动抽奖的缘由:为什么要弄一个控制台滚动抽奖呢?市面上抽奖的东西多了去了。其实是当初初学Python的时候,对一些没见过的东西感兴趣吧。虽然说市面上的抽奖层出不穷。但是远没有自己实现的东西来的实在。每当自己手动实现一个小东西的时候,总会有满满的成就感。希望大家能够保持最初的的那份热忱啊,与诸君共勉~

「Python」控制台建议滚动抽奖


前言


制作滚动抽奖的缘由:为什么要弄一个控制台滚动抽奖呢?

市面上抽奖的东西多了去了。其实是当初初学Python的时候,对一些没见过的东西感兴趣吧。虽然说市面上的抽奖层出不穷。但是远没有自己实现的东西来的实在。

每当自己手动实现一个小东西的时候,总会有满满的成就感。希望大家能够保持最初的的那份热忱啊,与诸君共勉~🚌🚌🚌

用到的库包括随机函数random以及监听键盘事件的keyborad库。利用keyboard.is_pressed()监听键盘的输入。


主要是如何清空控制台,实现模拟滚动的效果,这里先卖个关子,如果是你,在Python中,你会考虑如何实现,从而达到滚动抽奖的效果呢?


注意,本文只在控制台实现了滚动的效果,并没有实现很炫酷的效果,读者可以自行尝试利用窗口设计的tkinter进行简单的设计。

游戏玩法:运行程序,按enter键,选出幸运儿


前置知识简介:


open("xxx.txt","r+") -- 打开文件

其中"r+"表示既可以读取还可以写,r:仅仅表示读入

本文中数据放置在多行,所以需要使用splitlines函数,表示按行读入。并返回获取的名称列表。


具体实现


实现思想:


最外层嵌套一个while true:每次清空控制台,(使用\r回到某一行的开头)输出一个名字。

采用keyboard.is_pressed()方法监听键盘的输入,当用户按下enter键的时候,跳出while循环,从而达到控制台滚动出现名字的效果。


实现代码

import random
import keyboard
if __name__ == "__main__":
    filename = "pool.txt"
    file = open(filename, "r+", encoding='utf-8')
    lst = file.read().splitlines()  # 按行读入数据
    random.shuffle(lst)  # 先打乱数据
    idx = 0
    n = len(lst)
    while True:
        print("\r%s " % (lst[idx]), end='')  # \r 回到某一行的开头
        idx = (idx + 1) % n
        if idx == 0:
            random.shuffle(lst)
        if keyboard.is_pressed('enter'):  # 按下enter键,停止
            break
    print("\rthe random is ", lst[idx])

实现效果


1.png

写在最后:这是初学者的一些些小实验,如有不妥还请指正!

相关文章
|
12月前
|
Python
python pyqt5 cmd 命令行 控制台 打印 print 输出 显示打印内容 实时显示 界面
python pyqt5 cmd 命令行 控制台 打印 print 输出 显示打印内容 实时显示 界面
362 0
|
5月前
|
存储 算法 数据库
Python 抽奖程序限定次数详解
构建Python抽奖程序,限定用户抽奖次数,使用字典存储用户ID及抽奖次数。`LotterySystem`类包含判断、记录和抽奖方法。当用户达到最大抽奖次数(默认3次)时,禁止继续。示例展示如何创建系统,模拟用户抽奖,并扩展功能如动态调整次数和多用户、多奖品池。性能优化可通过数据持久化和并发控制实现。
46 0
|
2月前
|
Python
python在控制台打印爱心3-4
python在控制台打印爱心3-4
|
3月前
|
Python
Python 获取控制台输入的值
Python 获取控制台输入的值
30 0
|
3月前
|
Linux UED iOS开发
Python colorama 设置控制台、命令行输出彩色文字
Python colorama 设置控制台、命令行输出彩色文字
54 0
|
5月前
|
监控 搜索推荐 UED
用Python的pynput库追踪每一次点击和滚动
使用Python的`pynput`库可监听鼠标活动,包括点击和滚动事件。安装`pynput`后,通过`mouse.Listener`捕获鼠标事件。示例代码展示如何记录点击位置、滚动方向,并创建日志文件。通过类封装,可控制记录器的启停,并实现特定模式下的响应,如快速三连击左键自动打开网站。动手实践,将理论转化为实用工具。
|
5月前
|
存储 数据库 文件存储
Python中实现限定抽奖次数的机制的项目实践
本文介绍了如何在Python中实现限定抽奖次数的机制。通过选择合适的数据结构、设计清晰的逻辑流程以及编写简洁明了的代码,我们可以轻松地实现这一功能。同时,我们还探讨了如何对系统进行扩展和优化,以满足更多的实际需求。希望本文能对新手在开发抽奖系统时有所帮助。
|
5月前
|
Python 监控 搜索推荐
用Python的pynput库追踪每一次点击和滚动.md
使用Python的`pynput`库可监听鼠标活动,包括点击和滚动事件。首先通过`pip install pynput`安装库,然后利用`pynput.mouse.Listener`捕捉鼠标事件。示例代码展示了如何记录鼠标移动、点击(左键和右键)及滚轮滚动,并可扩展为日志记录器。此外,可以通过类封装来控制记录器的启动和停止,甚至根据特定模式响应。最后,提供了一个实战例子,当用户快速连续点击左键三次时,自动打开预设网站。
|
6月前
|
数据可视化 数据处理 索引
Python用GARCH对ADBL股票价格时间序列趋势滚动预测、损失、可视化分析
Python用GARCH对ADBL股票价格时间序列趋势滚动预测、损失、可视化分析
|
6月前
|
JSON 数据格式 Python
13 Python 阶段性总结抽奖系统(文末附代码地址)
13 Python 阶段性总结抽奖系统(文末附代码地址)
89 0
13 Python 阶段性总结抽奖系统(文末附代码地址)

热门文章

最新文章