各位朋友们,小编在这里要分享,python数据分析案例 药店销售数据分析 python数据分析案例教程(慕课版)pdf,一起探索吧!
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Python前出塞前出塞》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友从PHP入门到精通的346讲:一段编程旅程的蜕变。
既有适合前出塞学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,前出塞包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添前出塞获取:vip1024c (备注Python)
正文
# 定义函数main()
def main():
while True:
menu()
choice = int(input('请输入您的程序指令:'))
if choice in [0, 1, 2, 3, 4, 5, 6]:
if choice == 0:
print("您确定要退出吗?yes/no")
answer = input()
if answer == 'yes':
print('感谢您的使用!!!')
break # 终止
else:
continue # 中止
elif choice == 1:
insert()
elif choice == 2:
delete()
elif choice == 3:
search()
elif choice == 4:
total()
elif choice == 5:
show()
elif choice == 6:
sort()
else:
print('输入的指令不在范围内,请重新输入!!!')
那么根据上面的代码,需要实现具体的功能函数,主要功能代码部分如下:
4.1 添加学生信息
# 录入学生信息
def insert():
global phone
student_list = []
while True:
id = input('请输入学号: ')
if not id:
break
name = input('请输入姓名: ')
if not name:
break
sex = input('请输入性别: ')
if not sex:
break
# phone = input('请输入手机号: ')
# if not phone:
count = 0
for i in range(1, 4):
phone = input("请输入你的手机号: ")
# 利用正则表达式进行限定
tel = re.match(r"^1[3456789]\d{9}$", phone)
if tel:
print("输入成功!")
break
if tel != phone:
count += 1
if (count == 3):
print("录入失败,请30秒后重试!")
if (count != 3):
print("录入错误,请核对你的手机号!")
try:
# 智育分满分70分,德育分满分20分,体育分满分10分
zyf = int(input('请输入你的智育分:'))
dyf = int(input('请输入你的德育分:'))
tyf = int(input('请输入你的体育分:'))
except:
print('请您输入数字成绩!')
continue
# 将录入的学生信息保存到字典中
student = {'id': id, 'name': name, 'sex': sex, 'phone': phone, 'zyf': zyf, 'dyf': dyf, 'tyf': tyf}
# 将学生信息添加到列表中
# 可删!!!!!
student_list.append(student)
answer = input('是否继续添加?yes/no\n')
if answer == 'yes':
continue
else:
break
# 保存学生信息
save(student_list) # 封装
print('学生信息录入完毕!!!')
4.2 删除学生信息
# 删除学生信息
def delete():
while True:
student_id = input('请输入要删除学生的学号:')
if student_id != '':
if .exists(fileName):
with open(fileName, 'r', encoding='utf-8') as file:
student_old = file.readlines()
else:
student_old = []
flag = False # 标记是否删除
if student_old:
with open(fileName, 'w', encoding='utf-8') as wfile:
d = {}
for item in student_old:
d = dict(eval(item)) # 将字符串转换为字典
if d['id'] != student_id:
wfile.write(str(d) + '\n')
else:
flag = True
if flag:
print(f'学号为{student_id}的学生信息已经删除')
else:
print(f'学生表中没有找到学号为{student_id}的学生')
else:
print('学生表已中无任何学生个人信息')
break
show() # 重新显示所有学生信息
answer = input('是否继续删除?yes/no\n')
if answer == 'yes':
continue
else:
break
print('删除学生信息已结束,请你进行下一步操作!!!')
4.3 查询学生信息
# 查询学生信息
def search():
while True:
stu_query = []
id = ''
# 判断文件是否存在
if .exists(fileName):
# if的使用
if id == '':
id = input('请输入要查找的学生学号:')
else:
print('您的输入有误,请重新输入!')
continue
# 如果文件存在,并且用户输入了正确的查询标号,则打开文件
with open(fileName, 'r', encoding='utf-8') as rfile:
students = rfile.readlines()
# 转换为字典类型
for item in students:
d = dict(eval(item))
if id != '':
if id == d['id']:
stu_query.append(d) # 追加
# 显示查询结果
show_student(stu_query)
# 是否继续查询其他学生信息
answer = input('还要查询其他学生吗?yes/no\n')
if answer == 'yes':
continue
else:
break
else:
print('学生信息不存在!')
return
print('学生信息查询结束,请进行下一步操作!!!')
4.4 统计学生总人数
# 统计学生总人数
def total():
# 判断文件是否存在,如果存在则打开文件,读取信息
if .exists(fileName):
with open(fileName, 'r', encoding='utf-8') as rfile:
students = rfile.readlines()
# 判断读取到的学生信息是否为空
if students:
print('一共有{}名学生'.format(len(students)))
else:
print('学生系统中还没有录入学生信息!')
else:
print('学生信息不存在!')
return
print('学生总人数统计完毕,请进行下一步操作!!!')
4.5 显示所有学生信息
# 显示所有学生信息
def show():
student_list = []
# 判断文件是否存在,如果存在则打开文件,读取信息
if .exists(fileName):
with open(fileName, 'r', encoding='utf-8') as rfile:
students = rfile.readlines()
# 判断读取到的学生信息是否为空
if students:
for item in students:
student_list.append(eval(item))
# 展示学生信息
show_student(student_list)
else:
print('学生文件中还没有录入学生信息!')
else:
print('学生文件不存在!')
return
print('学生信息已成功显示,请你进行下一步操作!!!')
排序 (以总成绩分数)
# 对总学生成绩进行排序
def sort():
# 判断文件是否存在,如果存在则打开文件,读取信息
if .exists(fileName):
with open(fileName, 'r', encoding='utf-8') as rfile:
students_list = rfile.readlines()
students_new = []
# 判断读取到的学生信息是否为空
if students_list:
# 将所有的item加入到students_new中
for item in students_list:
d = dict(eval(item))
students_new.append(d)
# 利用匿名函数与sort方法进行排序
# True为降序,False升序
(key=lambda x: int(x['zyf']) + int(x['dyf']) + int(x['tyf']),
reverse=True)
# 将排序后的成绩进行输出
show_student(students_new)
print('学生信息排序完成并成功显示,请你进行下一步操作!!!')
五、运行效果
如上图所示可以看到我们的运行效果,及示例,并且我们输入的信息会存入一个文本文件,那怎么实现的呢?请看下方代码
# 建立一个名为的文本用于保存文件
fileName = ''
六、完整代码
# 导入模块
import os
import re
# 建立一个名为的文本用于保存文件
fileName = ''
# 定义函数main()
def main():
while True:
menu()
choice = int(input('请输入您的程序指令:'))
if choice in [0, 1, 2, 3, 4, 5, 6]:
if choice == 0:
print("您确定要退出吗?yes/no")
answer = input()
if answer == 'yes':
print('感谢您的使用!!!')
break # 终止
else:
continue # 中止
elif choice == 1:
insert()
elif choice == 2:
delete()
elif choice == 3:
search()
elif choice == 4:
total()
elif choice == 5:
show()
elif choice == 6:
sort()
else:
print('输入的指令不在范围内,请重新输入!!!')
def menu():
print('==============================学生信息管理系统==============================')
print('︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽功能菜单︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽')
print("*" * 74)
print("******", " " * 60, "******")
print("******\t 1.添加学生信息", " " * 18, "4.统计学生总人数\t\t ******")
print("******\t 2.删除学生信息", " " * 18, "5.显示所有学生信息\t\t ******")
print("******\t 3.查询学生信息", " " * 18, "6.排序(以总成绩分数) \t ******")
print("******\t 0.退出学生信息管理系统", " " * 18, "\t\t\t\t\t******")
print("******", " " * 60, "******")
print("*" * 74)
print('︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾')
def save(lst):
stu_txt = open(fileName, 'a', encoding='utf-8')
for item in lst:
stu_txt.write(str(item) + '\n')
stu_txt.close()
# 录入学生信息
def insert():
global phone
student_list = []
while True:
id = input('请输入学号: ')
if not id:
break
name = input('请输入姓名: ')
if not name:
break
sex = input('请输入性别: ')
if not sex:
break
# phone = input('请输入手机号: ')
# if not phone:
count = 0
for i in range(1, 4):
phone = input("请输入你的手机号: ")
# 利用正则表达式进行限定
tel = re.match(r"^1[3456789]\d{9}$", phone)
if tel:
print("输入成功!")
break
if tel != phone:
count += 1
if (count == 3):
print("录入失败,请30秒后重试!")
if (count != 3):
print("录入错误,请核对你的手机号!")
try:
# 智育分满分70分,德育分满分20分,体育分满分10分
zyf = int(input('请输入你的智育分:'))
dyf = int(input('请输入你的德育分:'))
tyf = int(input('请输入你的体育分:'))
except:
print('请您输入数字成绩!')
continue
# 将录入的学生信息保存到字典中
student = {'id': id, 'name': name, 'sex': sex, 'phone': phone, 'zyf': zyf, 'dyf': dyf, 'tyf': tyf}
# 将学生信息添加到列表中
# 可删!!!!!
student_list.append(student)
answer = input('是否继续添加?yes/no\n')
if answer == 'yes':
continue
else:
break
# 保存学生信息
save(student_list) # 封装
print('学生信息录入完毕!!!')
def show_student(lst):
# 传过来空列表
if len(lst) == 0:
print('没有查找到该生信息!')
return
# 定义标题显示格式
format_title = '{:^5}\t{:^23}{:^5}\t{:^11}\t{:^12}\t{:^10}\t{:^10}\t{:^6}\t{:^6}\t'
print(format_title.format('学号', '姓名', '性别', '手机号', '智育分', '德育分', '体育分', '总成绩', '分数等级'))
# 定义内容的显示格式
format_data = '{:^6}\t{:^6}\t{:^6}\t{:^31}{:^3}\t{:^10}\t{:^9}\t{:^12}\t{:^12}\t'
for item in lst:
sum = int(item['zyf']) + int(item['dyf']) + int(item['tyf'])
# grade等级的使用
grade = ''
if sum >= 85:
grade = 'A'
if 75 <= sum < 85:
grade = 'B'
if 65 <= sum < 75:
grade = 'C'
if 60 <= sum < 65:
grade = 'D'
if sum < 60:
grade = 'error'
# sum,grade的输出格式不同
# format_data.format(sum,grade))
print(format_data.format(item['id'], item['name'], item['sex'], item['phone'],
item['zyf'], item['dyf'], item['tyf'],
sum, grade))
print('全部学生信息显示完毕!!!')
# 查询学生信息
def search():
while True:
stu_query = []
id = ''
# 判断文件是否存在
if .exists(fileName):
# if的使用
if id == '':
id = input('请输入要查找的学生学号:')
else:
print('您的输入有误,请重新输入!')
continue
# 如果文件存在,并且用户输入了正确的查询标号,则打开文件
with open(fileName, 'r', encoding='utf-8') as rfile:
students = rfile.readlines()
# 转换为字典类型
for item in students:
d = dict(eval(item))
if id != '':
if id == d['id']:
stu_query.append(d) # 追加
# 显示查询结果
show_student(stu_query)
# 是否继续查询其他学生信息
answer = input('还要查询其他学生吗?yes/no\n')
if answer == 'yes':
continue
else:
break
else:
print('学生信息不存在!')
return
print('学生信息查询结束,请进行下一步操作!!!')
# 删除学生信息
def delete():
while True:
student_id = input('请输入要删除学生的学号:')
if student_id != '':
if .exists(fileName):
with open(fileName, 'r', encoding='utf-8') as file:
student_old = file.readlines()
else:
student_old = []
flag = False # 标记是否删除
if student_old:
with open(fileName, 'w', encoding='utf-8') as wfile:
d = {}
for item in student_old:
d = dict(eval(item)) # 将字符串转换为字典
if d['id'] != student_id:
wfile.write(str(d) + '\n')
else:
flag = True
if flag:
print(f'学号为{student_id}的学生信息已经删除')
else:
print(f'学生表中没有找到学号为{student_id}的学生')
else:
print('学生表已中无任何学生个人信息')
break
show() # 重新显示所有学生信息
answer = input('是否继续删除?yes/no\n')
if answer == 'yes':
continue
else:
break
现在能在网上找到很多很多的学习资源,有前出塞的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的前出塞视频资料,质量还不错,大家可以跟着学习
![]()
**网上前出塞一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添前出塞获取:vip1024c (备注python)**
![img]()
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
answer == 'yes':
continue
else:
break
现在能在网上找到很多很多的学习资源,有前出塞的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的前出塞视频资料,质量还不错,大家可以跟着学习
![]()
**网上前出塞一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添前出塞获取:vip1024c (备注python)**
[外链图片转存中...(img-P5BP1Lix-呵呵77)]
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
原文地址1:https://blog.csdn.net/m0_60707263/article/details/137732523
参考资料:python中用turtle画一个圆形 https://blog.csdn.net/SXIAOYAN_/article/details/140061099