靳子轩 发表于 2020-6-7 17:26:59

学生查询

不说废话,上代码(第一次运行的话按0之前先按6,还有,第二次就不要按六了,第二次代码真在开发中。。。)
from time import sleep
from random import randint
import pickle

data = [{"ID":1000000001, "name":"None", "sex":"男", "address":"青海"},
      {"ID":1929489285, "name":"False", "sex":"女", "address":"computer"}]
while True:
    #循环开头显示功能
    print("       ****************************************")
    print("          欢迎使用学生管理系统v2.0(后续有3.0)")
    print("                  1.显示所有学生")
    print("                  2.新建学生档案")
    print("                  3.查询学生信息")
    print("                  4.修改学生档案")
    print("                  5.删除学生档案")
    print("                  6.提取学生数据")
    print("                  0.退出")
    print("       ****************************************")
    print()
    def print_all():
      for student in data:
            print(student)
            pass
      pass

    def someThing_put_in():
      ID = randint(1000000000, 9999999999)
      try:
            if ID in data:
                ID = randint(1000000000, 9999999999)
      except:
            print("调试错误!")
      someName = input("输入姓名:")
      someSex = input("输入性别:")
      someAddress = input("输入地址:")
      student = {"ID":ID, "name":someName, "sex":someSex, "address":someAddress}
      data.append(student)

    def find_student():
      print("为了确保您是管理员,请输入学生全名(非小名)")
      somename = input()
      try:
            for i in data:
                if i["name"] == somename:
                  print(i)
                  pass
                pass
            pass
      except:
            print("有错误")
   
    def write_student():
      someBody = input("请输入学生全名(非小名):")
      for j in data:
            if j["name"] == someBody:
                TA_new_name = input("请输入新名字:")
                TA_new_ID = randint(1000000000, 9999999999)
                if TA_new_ID in data:
                  TA_new_ID = randint(1000000000, 9999999999)
                else:
                  TA_new_sex = input("输入性别:")
                  TA_new_address = input("输入地址:")
                  NEW_student = {"ID":TA_new_ID, "name":TA_new_name, "sex":TA_new_sex, "address":TA_new_address}
                  data.append(NEW_student)
                  LAST_name = input("输入原先的名字:")
                  for k in data:
                        if k["name"] == LAST_name:
                            need_del = k
                  data.remove(need_del)


    def del_student():
      someGuy = input("请输入学生全名(非小名):")
      for find in data:
            if find["name"] == someGuy:
                print()
                sleep(1)
                print("Find it!")
                data.remove(find)

    def save()
    pickle_file = open("data.pkl", "wb")
    pickle.dump(data, pickle_file)
    pickle_file.close()


    someThing = input("Enter the num:")
    if someThing == "0":
      break
    elif someThing == "1":
      print_all()
      continue
    elif someThing == "2":
      print("好的")
      print()
      sleep(1)
      someThing_put_in()
    elif someThing == "3":
      print("OK")
      print()
      find_student()
    elif someThing == "4":
      print("OK")
      sleep(1)
      write_student()
    elif someThing == "5":
      print("OK")
      print()
      del_student()
    elif someThing == "6":
      save()
      
      
      
      

qiuyouzhi 发表于 2020-6-7 17:28:35

为什么你的代码里面会有pass呢

靳子轩 发表于 2020-6-7 17:29:37

qiuyouzhi 发表于 2020-6-7 17:28
为什么你的代码里面会有pass呢

本人觉得好看一点,而且不会影响到运行

WangJS 发表于 2020-6-7 17:30:06

pass是没有代码时占位用的,不是用于代码块的结尾啊{:10_250:}

靳子轩 发表于 2020-6-7 17:31:31

from time import sleep
from random import randint
import pickle

data = [{"ID":1000000001, "name":"None", "sex":"男", "address":"青海"},
      {"ID":1929489285, "name":"False", "sex":"女", "address":"computer"}]
while True:
    #循环开头显示功能
    print("       ****************************************")
    print("          欢迎使用学生管理系统v2.0(后续有3.0)")
    print("                  1.显示所有学生")
    print("                  2.新建学生档案")
    print("                  3.查询学生信息")
    print("                  4.修改学生档案")
    print("                  5.删除学生档案")
    print("                  6.提取学生数据")
    print("                  0.退出")
    print("       ****************************************")
    print()
    def print_all():
      for student in data:
            print(student)
            pass
      pass

    def someThing_put_in():
      ID = randint(1000000000, 9999999999)
      try:
            if ID in data:
                ID = randint(1000000000, 9999999999)
      except:
            print("调试错误!")
      someName = input("输入姓名:")
      someSex = input("输入性别:")
      someAddress = input("输入地址:")
      student = {"ID":ID, "name":someName, "sex":someSex, "address":someAddress}
      data.append(student)

    def find_student():
      print("为了确保您是管理员,请输入学生全名(非小名)")
      somename = input()
      try:
            for i in data:
                if i["name"] == somename:
                  print(i)
      except:
            print("有错误")
   
    def write_student():
      someBody = input("请输入学生全名(非小名):")
      for j in data:
            if j["name"] == someBody:
                TA_new_name = input("请输入新名字:")
                TA_new_ID = randint(1000000000, 9999999999)
                if TA_new_ID in data:
                  TA_new_ID = randint(1000000000, 9999999999)
                else:
                  TA_new_sex = input("输入性别:")
                  TA_new_address = input("输入地址:")
                  NEW_student = {"ID":TA_new_ID, "name":TA_new_name, "sex":TA_new_sex, "address":TA_new_address}
                  data.append(NEW_student)
                  LAST_name = input("输入原先的名字:")
                  for k in data:
                        if k["name"] == LAST_name:
                            need_del = k
                  data.remove(need_del)


    def del_student():
      someGuy = input("请输入学生全名(非小名):")
      for find in data:
            if find["name"] == someGuy:
                print()
                sleep(1)
                print("Find it!")
                data.remove(find)

    def save()
    pickle_file = open("data.pkl", "wb")
    pickle.dump(data, pickle_file)
    pickle_file.close()


    someThing = input("Enter the num:")
    if someThing == "0":
      break
    elif someThing == "1":
      print_all()
      continue
    elif someThing == "2":
      print("好的")
      print()
      sleep(1)
      someThing_put_in()
    elif someThing == "3":
      print("OK")
      print()
      find_student()
    elif someThing == "4":
      print("OK")
      sleep(1)
      write_student()
    elif someThing == "5":
      print("OK")
      print()
      del_student()
    elif someThing == "6":
      save()
      
      
      
      

永恒的蓝色梦想 发表于 2020-6-7 17:36:21

好多 pass……加这个干什么呢?

Twilight6 发表于 2020-6-8 22:31:27



我喜欢你这里的代码,看着好舒服~~~

print("       ****************************************")
print("          欢迎使用学生管理系统v2.0(后续有3.0)")
print("                  1.显示所有学生")
print("                  2.新建学生档案")
print("                  3.查询学生信息")
print("                  4.修改学生档案")
print("                  5.删除学生档案")
print("                  6.提取学生数据")
print("                  0.退出")
print("       ****************************************")
页: [1]
查看完整版本: 学生查询