抽奖系统-Python小项目练手【1】
admin
2024-05-06 07:50:17
0

抽奖系统-Python项目练手【1】

为了响应部分同学的学习需求,让同学们尽快的上手项目,对于Python的知识点能尽快的掌握,从今天开始,将不定期的更新一些简单的容易上手的小项目给大家学习使用。

第一个项目,就选择抽奖系统。抽奖系统顾名思义,就是有着抽奖功能的一个界面

简单构思一下,需要有的几个功能

  • 1.随机数生成
  • 2.json数据读取
  • 3.数据展示

那现在就开始做我们第一个练手项目吧!

一、随机数

首先要考虑随机数是如何生成的,这里并不困难,直接使用Python自带的random库即可,这里便简单介绍即可

python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据。

random.randint(n,m) #生成一个n到m之间的随机数
random.random()  #生成一个0到1之间的浮点数
random.uniform(n,m) #生成一个n到m之间的浮点数
random.choice([])  #从列表之间随机选取一个数

二、.json数据读取

这一功能我写的时候,因为对于Python的文件读取不太熟悉,花了一些时间去专门查了一些资料后完成的。
里面需要考虑到比如行过滤等内容,虽然说本次使用的json数据好像并不需要,不过我也加在里面,以便后续使用

import jsondef load_json(path):lines = []  # 第一步:定义一个列表, 打开文件with open(path, 'r', encoding="utf-8") as f:for row in f.readlines():  # 第二步:读取文件内容if row.strip().startswith("//"):  # 第三步:对每一行进行过滤continuelines.append(row)  # 第四步:将过滤后的行添加到列表中.return json.loads("\n".join(lines))  # 将列表中的每个字符串用某一个符号拼接为一整个字符串,用json.loads()函数加载,这样就大功告成啦!!def load_list(path):lines = []  # 第一步:定义一个列表, 打开文件with open(path, 'r', encoding="utf-8") as f:for row in f.readlines():  # 第二步:读取文件内容if row.strip().startswith("//"):  # 第三步:对每一行进行过滤continuelines.append(row)  # 第四步:将过滤后的行添加到列表中.return lines#
# print(load_json("随机英文名.json"))# 判断数据是否存在于json数据的value里,如果存在返回TRUE,不存在返回FALSE
def test_json(data, test_data):  # data为字典,test_data为测试数据或者查找数据for value in data.values():# print(value, end='  ')if test_data in value:return Trueelse:return False

三、数据展示

如何展示数据呢,方法有很多种,本次项目为了方便,我使用了Python的flask框架,

 新建Python空项目后,直接pip install flask安装即可

直接使用最基础的flask框架模板

# //pip install flask
# 抽奖系统
from flask import Flask, render_template
from json文件读取 import load_json, load_list
from random import randintapp = Flask(__name__)# 读取数据
name = load_list("随机英文名.json")# 生产随机数据
def RandomData(data):num = randint(2, len(data) - 3)# print(name[num])return data[num]@app.route('/')
def index():return render_template("index01.html", name=name)
#
@app.route('/choujiang')
def choujiang():return render_template("index01.html", name=name, data=RandomData(name))app.run(debug=True)

index.html代码如下



Title



hallo

抽奖 恭喜您抽到了:{{data}}

至此,整体项目完成,项目很简单,适合新手练手使用,如果有同学想继续完善,将他变成一个精美的界面,也十分欢迎去尝试,如果有中途遇到什么问题,也很欢迎私聊我一起来讨论嗷!

本次项目使用的模拟数据如下:
随机英文名.json

{
"names":
[
"Dwight Baker",
"Sam Jerry",
"Monica Dillon",
"Adelaide Garden",
"George Connor",
"Omar Maria",
"John Ackermann",
"Borg Thomas",
"Mamie Carmen",
"Jonathan Bethune",
"Edgar Bartholomew"
]
}

相关内容

热门资讯

市县动态丨贵阳市全力做好202... 按照省发展改革委等6部门关于做好2026年春节期间重要民生商品保供稳价的工作部署,贵阳市发展改革委与...
振芯科技控制权再生变局,四川女... 来源:时代周报 原来已定的振芯科技(300101.SZ)董事会格局再生变。 2月13日晚间 ,振芯...
原创 争... 张水华的名字最近再次登上了热搜,这位35岁的护士,之前因为调休的问题被骂成了精致利己,没想到她在生日...
显微镜下的“福尔摩斯” 病理学是医学之本,病理科医生被称为“医生中的医生”,病理科在医院的地位举足轻重。因为疾病的有效治疗建...
从“抽卡”到“成片”:Seed... 00:17 封面新闻记者 张峥 用户排队试用等出片。“中国版sora”——Seedance 2.0经...
湘西州农商银行:筑牢防非“防火... 岁末年初,资金流动频繁,非法集资、电信诈骗等金融风险进入易发高发期。自1月起,湘西州农商银行系统积极...
福建上市公司ESG-V评级|上... 东南沿海的福建,长期以民营经济活跃、外向型程度高和产业韧性强著称,从电子信息、新材料到消费制造与数字...
原创 福... 要说起吃鸡,中国在全世界当属第一大消费国。 一年下来,中国人能吃掉约70亿只白羽肉鸡!而这些白羽肉鸡...
黄金牛市悲喜:本金翻倍VS高位... 记者 陈姗 刚刚过去的2025年,无疑是黄金闪耀的年份——伦敦现货黄金收官于4300美元/盎司附近,...
凯德北京投资基金管理有限公司:... 美国劳工部本周发布的最新就业报告显示,一月非农就业人数增加十三万人,失业率小幅回落至百分之四点三。这...
春节“钱线”|金银巨震,过年该... 临近春节,国际金价在经过此前的大幅回落后,开启新一轮震荡调整行情。 截至2月14日盘中,现货黄金报5...
原创 特... 尽管特朗普4月份就要访华,但是不妨碍期间他对中国下狠手。 比如突然之间,特朗普就给中国的石墨产品,加...
原创 委... 时间回到2026年1月,表面上,国际能源市场依然在有条不紊地运作。各国照常发布合作声明、签署合同,强...
黄金站上5000美元,美股苦笑... 美东时间2月13日,华盛顿的空气里漂浮着一丝微妙的雀跃。 美国劳工统计局的电脑屏幕上,跳出了1月份的...
预缴企业所得税时,职工薪酬这两... 预缴企业所得税时 职工薪酬这两项怎么填? 一、企业所得税预缴申报表附报“优惠及附报事项”里的“职工薪...
赚翻了!有人5年前买了2700... 花105万元买黄金 持有5年 现在能赚多少钱? 2月13日 记者从武商MALL·世贸获悉 有顾客于近...
新股消息 | 琻捷电子港股IP... 来源:智通财经网 2月14日,中国证监会国际合作司发布《关于琻捷电子科技(江苏)股份有限公司境外发行...
广东唯一!深圳入选首批“电影+... 深圳商报·读创客户端首席记者 刘琼 深圳迎来“电影+”消费新机遇!2月12日,国家电影局、商务部联合...
新点软件:累计回购约183万股 每经AI快讯,新点软件2月13日晚间发布公告称,截至本公告披露日,公司已完成本次回购。公司通过上海证...
AI太火了,除夕夜也不打烊!八... 【导读】除夕夜开讲AI,卖方分析师春节八天路演排满 中国基金报记者 孙越 随着马年春节进入倒计时,卖...