鱼C论坛

 找回密码
 立即注册
查看: 2805|回复: 5

[作品展示] 有些害羞。。。学生查询v3.0

[复制链接]
发表于 2021-2-22 17:54:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
经过一段时间的气质(弃置)后,我把Python捡了回来
第一个练手的目标就是学生查询
我在电脑上搜了有一段时间才把他找到
本次更改内容:美化界面
上源码:
  1. from time import sleep
  2. from random import randint

  3. def print_all():
  4.     print("现在打印所有学生的档案:")
  5.     sleep(1)
  6.     if not (data == []):
  7.         for student in data:
  8.             print("学生ID: %s" % student["ID"], end = " ")
  9.             sleep(1)
  10.             print("姓名:%s" % student["name"], end=" ")
  11.             sleep(1)
  12.             print("性别:%s" % student["sex"], end=" ")
  13.             sleep(1)
  14.             print("地址:%s" % student["address"], end=" ")
  15.             sleep(1)
  16.             print()
  17.     else:
  18.         print('一团干草默默飘过。。。')


  19. def someThing_put_in():
  20.     ID = randint(100000000, 999999999)
  21.     try:
  22.         if ID in data:
  23.             ID = randint(100000000, 999999999)
  24.     except:
  25.         print("调试错误!")
  26.     someName = input("输入姓名:")
  27.     someSex = input("输入性别:")
  28.     someAddress = input("输入地址:")
  29.     student = {"ID": ID, "name": someName, "sex": someSex, "address": someAddress}
  30.     data.append(student)


  31. def find_student():
  32.     print("为了确保您是管理员,请输入学生全名(非小名)")
  33.     somename = input()
  34.     try:
  35.         for i in data:
  36.             if i["name"] == somename:
  37.                 print(i)
  38.     except:
  39.         print("有错误")


  40. def write_student():
  41.     someBody = input("请输入学生全名(非小名):")
  42.     for j in data:
  43.         if j["name"] == someBody:
  44.             TA_new_name = input("请输入新名字:")
  45.             TA_new_ID = randint(100000000, 999999999)
  46.             if TA_new_ID in data:
  47.                 TA_new_ID = randint(100000000, 999999999)
  48.             else:
  49.                 TA_new_sex = input("输入性别:")
  50.                 TA_new_address = input("输入地址:")
  51.                 NEW_student = {"ID": TA_new_ID, "name": TA_new_name, "sex": TA_new_sex, "address": TA_new_address}
  52.                 data.append(NEW_student)
  53.                 for k in data:
  54.                     if k["name"] == someBody:
  55.                         data.remove(k)


  56. def del_student():
  57.     someGuy = input("请输入学生全名(非小名):")
  58.     for find in data:
  59.         if find["name"] == someGuy:
  60.             print()
  61.             sleep(1)
  62.             print("Find it!")
  63.             sleep(2)
  64.             data.remove(find)


  65. def save():
  66.     if data != []:
  67.         with open('data.txt','w',encoding='utf-8') as f:
  68.             f.write('{:^10}{:^10}{:^10}{:^10}\n\n'.format('ID','Name','Sex','Address'))
  69.             for i in data:
  70.                 f.write('{:^10}{:^10}{:^10}{:^10}\n\n'.format(i['ID'],i['name'],i['sex'],i['address']))
  71.         print('保存数据成功!')
  72.     else:
  73.         print('你的档案库为空!')

  74. def extract():
  75.     global data
  76.     try:
  77.         with open('data.txt', encoding='utf-8') as f:
  78.             temp = []
  79.             for i in f:
  80.                 if i[0].isdigit():
  81.                     temp.append([each for each in i.split() if each != ''])
  82.             for i in temp:
  83.                 temp_list = {}
  84.                 temp_list['ID'] = int(i[0])
  85.                 temp_list['name'] = i[1]
  86.                 temp_list['sex'] = i[2]
  87.                 temp_list['address'] = i[3]
  88.                 if temp_list not in data:
  89.                     data.append(temp_list)
  90.         print('提取学生档案成功!')
  91.     except OSError:
  92.         raise FileNotFoundError("file 'data.txt' is not found")

  93. try:
  94.     data = extract()
  95. except:
  96.     data = []

  97. print("       ****************************************")
  98. print("               欢迎使用学生管理系统v3.0")
  99. print("                  1.显示所有学生")
  100. print("                  2.新建学生档案")
  101. print("                  3.查询学生信息")
  102. print("                  4.修改学生档案")
  103. print("                  5.删除学生档案")
  104. print("                  6.提取学生数据")
  105. print("                  0.退出")
  106. print("       ****************************************")
  107. print()


  108. while True:
  109.     someThing = input("输入操作序号:")
  110.     if someThing == "0":
  111.         break
  112.     elif someThing == "1":
  113.         print_all()
  114.     elif someThing == "2":
  115.         print("好的")
  116.         print()
  117.         sleep(1)
  118.         someThing_put_in()
  119.     elif someThing == "3":
  120.         print("OK")
  121.         print()
  122.         find_student()
  123.     elif someThing == "4":
  124.         print("OK")
  125.         sleep(1)
  126.         write_student()
  127.     elif someThing == "5":
  128.         print("OK")
  129.         print()
  130.         del_student()
  131.     elif someThing == "6":
  132.         more_Thing = input("要提取还是读取(填R(读取)或S(保存)):")
  133.         if more_Thing == "R" or more_Thing == "r":
  134.             extract()
  135.         elif more_Thing == "S" or more_Thing == "s":
  136.             save()






复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-22 18:42:35 | 显示全部楼层
可以考虑搞个 tkinter 啥的吧,更帅气
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-25 16:15:44 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-22 18:42
可以考虑搞个 tkinter 啥的吧,更帅气

对了,能不能教我一下tkinter,我买了本书抄源代码抄到第3个就莫名其妙的出错,咋改都不行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 17:14:26 | 显示全部楼层
靳子轩 发表于 2021-2-25 16:15
对了,能不能教我一下tkinter,我买了本书抄源代码抄到第3个就莫名其妙的出错,咋改都不行

额...这个怎么教

如果有代码问题的话,可以新开一个帖子,等有缘人帮忙解答

我当时跟着小甲鱼学的 tkinter,但是确实有一些还是没那么容易理解的

后面去b站找了另一位大佬的教程

Tkinter 做简单的窗口视窗 (GUI 莫烦 Python 教程)

思路就清晰了挺多的

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-25 17:17:22 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-25 17:14
额...这个怎么教

如果有代码问题的话,可以新开一个帖子,等有缘人帮忙解答

多谢,我去学习啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-10 12:14:21 | 显示全部楼层
问一下,鱼币怎么得。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 05:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表