【Python】【Flask】抽奖功能

  1. 设定奖项
python 复制代码
PRIZES = ['特等奖', '一等奖', '二等奖', '三等奖', '安慰奖', '谢谢参与']
  1. 设定概率
python 复制代码
PRIZES_PROBABILITIES = [0.01, 0.05, 0.1, 0.2, 0.3, 0.34]
  1. 功能实现

核心代码:

choujiang.py

python 复制代码
@app.route('/choujiang')
def choujiang():
    your_prize = random.choice(PRIZES, p=PRIZES_PROBABILITIES)
    return render_template('choujiang.html', prizes=PRIZES, your_prize=your_prize)

注:此处的 choice 是 numpy.random 下的 choice ,而非内置的 random 下的 choice 。

choujiang.html

html 复制代码
所有奖项 :{{ prizes }}<br>
你的奖项 : {{ your_prize }}
  1. 功能优化

原始代码需要每次刷新才能实现一次抽奖,实际用户不可能如此操作。现增加抽奖链接,点击即可实现一次抽奖。

html 复制代码
所有奖项 :{{ prizes }}<br>
<a href="/choujiang">点击抽奖</a><br>
{{ your_prize}}
  1. 效果展示
  2. 完整代码
    https://download.csdn.net/download/qq_45800521/92553224?spm=1001.2014.3001.5503
相关推荐
凤年徐2 分钟前
【Python】Python 语法速通指南
开发语言·python
quantdash_cc7 分钟前
量化数据清洗应该放在数据层还是策略层?从系统架构看清职责边界
开发语言·python·数据分析·系统架构·量化交易·股票数据·quantdash
梅雅达编程笔记10 分钟前
Day 06 · 第一个 API 接口:从 Model 到 JSON
python·django·drf·后端开发·restful api·序列化器
yi01114 分钟前
DAY28: LeetCode 111. 二叉树的最小深度
人工智能·笔记·python·算法·leetcode·二叉树·递归
|_⊙19 分钟前
C++ 类和对象零散知识点
开发语言·c++
xiangyun6132 分钟前
C++ list 模拟实现(二):const迭代器与反向迭代器,模板的黑魔法
开发语言·数据库·c++·算法·stl·list
诺伦1 小时前
从一键分发到 AI 自动运营:内容矩阵工具三代技术架构拆解 | RiseClaw玄策
python·agent·架构设计·增长运营·ai自动运营·内容营销自动化
DLite1 小时前
NLang 0.9.0发布:成为可嵌入语言
开发语言·编程语言·编译技术·nlang
有同事要进步1 小时前
LeetCode 14. 最长公共前缀:纵向扫描一次讲透
开发语言·python
修船大队长1 小时前
CanNm 从休眠唤醒后重复消息报文的周期与数量分析
开发语言·php