【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
相关推荐
A__tao2 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢2 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
lly2024062 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨2 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9992 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n2 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨2 小时前
python扫码登录dy
开发语言·python
我是唐青枫2 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.3 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin