type
status
date
slug
summary
tags
category
icon
password
三、设计摇奖程序
- 数据准备:参与人员名单
假设我们已经有了一个参与人员的名单,可以是Excel表格、CSV文件或者简单的文本文件。我们通过Python读取数据,并将其转化为列表或数组格式,方便后续操作。
- 摇奖功能:随机抽取
我们可以利用Python的random模块来实现简单的随机抽取功能:
这个draw_lottery函数可以从participants列表中随机抽取指定数量的中奖者。
- 摇奖流程控制
如果有多个奖项,或者需要多次抽奖,我们可以把上述的抽奖功能封装成一个更复杂的流程:
这里,draw_multiple_lotteries函数能完成多个奖项的摇奖,每个奖项可以设置不同的中奖人数,并确保每个参与者只能中奖一次。
- 输出结果
最终,我们需要将摇奖结果打印出来,或者保存到一个文件中:
四、利用AI工具提升功能
这里我先创建一个应用,命名为lucy_draw

利用Claude优化

上面是Claude给出来的版本,下面是源码,我一行代码都没有改:
我们看下能否正常运行?

没有压力,Claude模型不愧是最强AI编程模型,零次修改。
使用GPT-o1
这里用的是GPT最强推理模型O1,很快也给出来了它的实现,甚至还有详细的注释和代码解析:

我们看下实际运行情况?

显然它没有实现我的指定需求,没有多轮抽奖。
cursor登场
这里还是用我习惯的cursor,毕竟是直接接入的Claude Sonnet3.5,我用它来写一个完全版。

需求粘贴到codebase,一键apply。
运行效果也是没有问题,毕竟是用的Claude 3.5-sonnet模型
现在我来增加一些增强功能:
1.如何添加图形界面 2.如何加入抽奖动画效果 3.如何保存抽奖结果
输入给cursor,很快就拿到结果了

我们运行看下效果:


主要更新包括:
1.图形界面:
- 使用 tkinter 创建了图形界面
- 添加了开始抽奖和保存结果按钮
- 使用 Canvas 组件显示动画效果
- 使用 Text 组件显示抽奖结果
2.动画效果:
- 在抽奖过程中显示名字快速切换的动画
- 最终结果以较大字体居中显示
- 可以调整 animation_speed 来控制动画速度
3.结果保存:
- 将抽奖结果保存为 JSON 格式
- 包含抽奖时间、参与人数、各奖项获奖者等信息
- 文件名包含时间戳,保存在 results 目录下
上面都是我粘贴过来的,又是一行代码都没改。。
最后
这类工具市面上有很多,有网页端大屏操作的,也有桌面端的,很多是收费的,突然要找来用还是挺费时间的,比如下面这个:
今天我用AI工具实现的这个,虽然现在还是一个玩具,距离上面这种成熟抽奖产品还有一定距离,但是上面仅仅是我用5分钟写的,给我点时间,实现一个抽奖工具,应该没啥压力,毕竟左手chatgpt,右手Claude,效率杠杆的。
对了,需要这个成熟抽奖工具,可以私信回复【抽奖】或者扫下方二维码找到我,发给你。
- Author:NotionNext
- URL:http://preview.tangly1024.com/article/22ced26c-0da0-813f-80bd-d0a857cc83aa
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!