python 学生名片管理系统
import os
class Student(object):
def print_menu(self):
"""打印菜单""" # 函数文档说明
print("=" * 50)
print("学生名片管理系统V1.0")
print("1、添加学生名片")
print("2、查找学生名片")
print("3、修改学生名片")
print("4、删除学生姓名")
print("5、显示所有学生名片")
print("6、保存学生名片")
print("0、退出系统")
print("=" * 50)
def add_infor(self):
new_name = input("请输入姓名:")
new_sex = input("请输入性别:")
new_phone = input("请输入手机号:")
new_class = input("请输入班级:")
# 创建字典
new_infor = {}
# 将一个学生的信息存进字典
new_infor["name"] = new_name
new_infor["sex"] = new_sex
new_infor["phone"] = new_phone
new_infor["class"] = new_class
# 将一个学生名片存储到列表中。
# 列表的添加操作:append() 排队、insert()插队、extend()连接合并
global card_infors
card_infors.append(new_infor)
def find_infor(self):
"""根据姓名查找名片"""
find_name = input("请输入要查找的学生姓名:")
# 遍历列表中的每一个字典,判断键name对应的值是不是要查找的姓名
global card_infors
for temp in card_infors:
if temp["name"] == find_name: # 找到了
# 显示该名片信息
print("姓名:{}\t性别:{}\t手机号:{}\t班级:{}".format(temp["name"], temp["sex"], temp["phone"], temp["class"]))
break
else:
print("{}不存在".format(find_name))
def modify_infor(self):
"""根据姓名修改名片"""
old_name = input("请输入要修改的姓名:")
new_name = input("请输入新的姓名:")
new_sex = input("请输入新的性别:")
new_phone = input("请输入新的手机号:")
new_class = input("请输入新的班级:")
# 根据姓名定位到名片
global card_infors
for temp in card_infors:
if temp["name"] == old_name:
temp["name"] = new_name
temp["sex"] = new_sex
temp["phone"] = new_phone
temp["class"] = new_class
print("修改成功!")
break
else:
print("{}不存在,修改失败!".format(old_name))
def delete_infor(self):
"""根据姓名删除学生名片"""
del_name = input("要删除的学生姓名:")
# 根据姓名定位到要删除的名片
global card_infors
for temp in card_infors:
if temp["name"] == del_name: # 找到了要删除的名片
# 列表的删除操作:del[下标]、pop、remove(元素)
card_infors.remove(temp)
print("删除成功!")
break
else:
print("{}不存在,删除失败!".format(del_name))
def show_infor(self):
"""显示学生名片"""
global card_infors
if len(card_infors) > 0:
print("学生名片如下:")
for temp in card_infors:
# 显示字典中每一个元素的值
print("姓名:{}\t性别:{}\t手机号:{}\t班级:{}".format(temp["name"], temp["sex"], temp["phone"], temp["class"]))
else:
print("没有学生名片信息!")
def save_infor(self):
"""保存学生名片信息到文件backup.data中"""
try:
with open("backup.data", "w") as save_file:
save_file.write(str(card_infors))
except Exception as err:
print("异常发生了:", err)
print("保存失败")
else:
print("保存成功!")
def load_infor(self):
"""加载文件backup.txt中的内容到card_infors"""
if os.path.isfile("backup.data"):
try:
with open("backup.data") as f:
content = f.read()
global card_infors
card_infors = eval(content)
except:
pass
card_infors = []
stu=Student()
while True:
stu.print_menu()
try:
stu.load_infor()
num=int(input('请输入功能序号:'))
if num==1:
stu.add_infor()
elif num==2:
stu.find_infor()
elif num==3:
stu.modify_infor()
elif num==4:
stu.delete_infor()
elif num==5:
stu.show_infor()
elif num==6:
stu.save_infor()
elif num==0:
quitconfirm = input("亲,真的要退出么 (yes或者no)")
if quitconfirm == 'yes':
print("程序结束,谢谢使用。")
break
else:
print("输入错误,请重新输入。")
except ValueError:
print('请输入数字。')
class Animal:
def go_sleep(self):
print("睡觉")
class Bird(Animal):
def go_sleep(self):
print('a bird sleeps in tree')
class Fish(Animal):
def go_sleep(self):
print('a fish sleeps in tree')
class Person(Animal):
def go_sleep(self):
print('a person sleeps in tree')
bird=Bird()
fish=Fish()
person=Person()
bird.go_sleep()
fish.go_sleep()
person.go_sleep()