python基础:案例:学生名片信息管理系统

功能:
1.能循环输入内容
2.展示功能
-1.新增名片
-2.显示全部
-3.查询名片
-0.退出系统
3.让用户输入希望执行的操作 例如输入1,2,3,0
4.新增列表

  • 提示用户输入姓名,
  • 输入电话
  • 输入qq号
  • 输入邮箱
  • 提示新增名片成功。
    5.显示全部
  • 将所有的名片打印出来,格式如下:
    姓名 电话 QQ 邮箱
    zs 110 1337765076 [email protected]

6.查询名片

  • 提示请输入要搜索查找用户的姓名
    • 如果用户存在—>显示用户的信息
      -提示用户【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。
      -修改操作,可以修改用户名,电话,qq、邮箱。

      • 删除操作,将用户删除。
      • 返回上一级操作,回到欢迎界面,让用户继续操作。
    • 如果用户不存在–>提示查找的用户不存在。

student_info_lst = [] # 保存所有学生的信息
def show_menu(): #显示所有功能菜单
‘’‘显示所有功能菜单’’’
print(‘欢迎来到学生信息管理系统’)
print(‘新增学员请按【1】’)
print(‘显示全部请按【2】’)
print(‘查询学员请按【3】’)
print(‘退出系统请按【0】’)

  def add_student():        #这是新增学员功能
        '''这是新增学员功能'''
        print('-----新增学院功能')
    name = input('请输入姓名:')
    age = input('请输入年龄:')
    gender = input('请输入性别:')
    phone = input('请输入手机:')
    # 将用户输入的信息保存到字典中
    # print(name.age,gender,phone)
    dic = {}
    dic['name'] = name
    dic['age'] = age
    dic['gender'] = gender
    dic['phone'] = phone
    # print(dic)
    # 注意将用户输入的信息保存到全局变量student_info_lst列表中,
    # 让其他功能使用列表中的信息
    student_info_lst.append(dic)
    print('添加成功了')
    print(student_info_lst)
    
    def alignment(s,space):
        '''动态获取空格长度'''
        s1=s.encode('gbk')
        length=len(s1)
        space=space-length
        s=s+' '*space
        return s
    ret=alignment('name',20)
    print(ret)
def show_all_student():
print('-----显示所有的学员信息功能-----')
if not student_info_lst:  # 没有学员信息
    print('还没有学员信息呢,请先添加学员')
    return
# 显示学员信息
# print('name\tage\tgender\tphone\t')   #此种方法对不齐
name=alignment('name',15)
age=alignment('age',15)
gender=alignment('gender',15)
phone=alignment('phone',15)
print(name,age,gender,phone)
for dic in student_info_lst:
    # name = dic['name']
    # age = dic['age']
    # gender = dic['gender']
    # phone = dic['phone']
    # print('{}\t{}\t{}\t{}\t'.format(name, age, gender, phone))  此种方法对不齐
        name=alignment(dic['name'],15)
        age=alignment(dic['age'],15)
        gender=alignment(dic['gender'],15)
        phone=alignment(dic['phone'],15)
        print(name,age,gender,phone)
 def modify_student(old_value, msg):
        new_value = input(msg)
        if new_value.strip():  # 输入的内容不为空
            return new_value
        else:
            return old_value


def deal_student(dic):  # 修改和删除学员信息
        action_str = input('【1】修改  【2】删除 【0】返回上一级菜单,请选择执行的操作')
        if action_str == '1':
        name = modify_student(dic['name'], '请输入姓名:')
        age = modify_student(dic['age'], '请输入年龄:')
        gender = modify_student(dic['gender'], '请输入性别:')
        phone = modify_student(dic['phone'], '请输入电话:')
        dic['name'] = name
        dic['age'] = age
        dic['gender'] = gender
        dic['phone'] = phone
        print('------修改成功了--------')

    	elif action_str == '2':
            student_info_lst.remove(dic)
            print('-----删除成功了-----')
        elif action_str == '0':
            pass
    
    
    def search_student_by_name():
        print('-----欢迎来到学生信息查询功能-------')
        if student_info_lst:
            name = input('请输入要查询学员的姓名:')
            for dic in student_info_lst:
                if dic['name'] == name:
                    print('name\tage\tgender\tphone\t')
                    name = dic['name']
                    age = dic['age']
                    gender = dic['gender']
                    phone = dic['phone']
                    print('{}\t{}\t{}\t{}\t'.format(name, age, gender, phone))
                    # 修改学员信息
                    deal_student(dic)  # 需要将学员信息传递到函数中
                    break
            else:
                print('没有找到该学员姓名')
        else:
            print('没有学员信息,请先添加学员信息')


while True:
    show_menu()
    action_str = input('请输入您要选的数字:')
    lst = ['0', '1', '2', '3']
    if action_str in lst:
        # print('正确了')
        if action_str == '0':
            break
        elif action_str == '1':
            add_student()

elif action_str == '2':
    show_all_student()
elif action_str == '3':
    search_student_by_name()
else:
    print('--------sb,'
          '输入错了,请重新输入--------')

猜你喜欢

转载自blog.csdn.net/weixin_44239541/article/details/86312432