【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 小时前
C语言---无名位域
c语言·开发语言
带土12 小时前
6. C++智能指针(1)
开发语言·c++
linuxxx1102 小时前
python变量引用的小案例
python
海南java第二人2 小时前
SpringBoot启动流程深度解析:从入口到容器就绪的完整机制
java·开发语言
星火开发设计2 小时前
C++ queue 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识·队列
2501_936146042 小时前
烟草叶片病害检测_YOLO11-C3k2-MSBlock模型详解
python
DICOM医学影像2 小时前
2. go语言从零实现以太坊客户端-查询区块链账户余额
开发语言·golang·区块链·以太坊·web3.0·hardhat
Data_agent2 小时前
Python 编程实战:函数与模块化编程及内置模块探索
开发语言·python
new_zhou2 小时前
vs2019+qt工程中生成dump文件及调试
开发语言·qt·visual studio·dump调试