[从零开始学Python]综合实例1

实例:学员信息管理系统

在这里插入图片描述

'''
    学员信息管理系统
    1.学员信息数据源
    2.查看学员信息
    3.添加学员信息
    4.删除学员信息
    5.退出系统
    6.界面和交互
'''

# 1.学员信息数据源
stu_list = [
    {'name':'zhangsan','age':20,'classid':'Python01'},
    {'name':'lisi','age':22,'classid':'Python02'},
    {'name':'wangwu','age':26,'classid':'Python03'}
]

# 2.查看学员信息
def show_info():
    '''

    :return:
    '''
    if(len(stu_list)==0):
        print('='*20,'没有学员信息','='*20)
    else:
        print('|{0:<5}|{1:<10}|{2:<5}|{3:<10}|'.format('sid','name','age','classid'))
        print('-'*40)
        for i,stu_dict in enumerate(stu_list):
            print('|{0:<5}|{1:<10}|{2:<5}|{3:<10}|'.format(i+1,stu_dict['name'],stu_dict['age'],stu_dict['classid']))

# 3.添加学员信息
def add_stu(name,age,classid):
    stu_dict={}
    stu_dict['name']=name
    stu_dict['age']=age
    stu_dict['classid']=classid
    stu_list.append(stu_dict)

# 4.删除学员
def del_stu(sid):
    sid_int = int(sid)
    stu_list.pop(sid_int)

# 5.推出系统
def loginOut():
    pass

# 6.界面和交互
while True:
    # 输出初始界面
    print('='*12,'学员管理系统','='*12)
    print('{:1}{:13}{:15}'.format(' ','1.查看学员信息','2.添加学员信息'))
    print('{:1}{:13}{:15}'.format(' ','3.删除学员信息','4.退出系统'))
    print('='*36)
    key = input('请输入对应的选择:')
    # 根据键入值,执行对应操作
    if key=='1':
        print('='*12,'学员信息浏览','='*12)
        show_info()
        input('按下回车继续:')
    elif key=='2':
        print('=' * 12, '添加学员信息', '=' * 12)
        name = input('请输入学生的姓名:')
        age = input('请输入学生的年龄:')
        classid = input('请输入学生的班级号:')
        add_stu(name,age,classid)
        show_info()
        input('按下回车继续:')
    elif key=='3':
        print('=' * 12, '删除学员信息', '=' * 12)
        show_info()
        sid = input('请输入要删除学员的sid:')
        del_stu(int(sid))
        show_info()
        input('按下回车继续:')
    elif key=='4':
        loginOut()
        print('=' * 15, '再见', '=' * 16)
        break
    else:
        print('操作无效!')

实例:银行信息管理系统

依照依照这个思路,我们还可以设计一个银行信息管理系统
在这里插入图片描述

# 1.银行用户信息表

user_lib = [{"id":"11022701","passwd":'123456','balance':100000},
            {"id":'11022702','passwd':'123457','balance':200000},
            {'id':'11022703','passwd':'123458','balance':300000},
            {'id':'1','passwd':'1','balance':300000}]

# 2.登陆功能

def login_user():
    '''
    @Description:账号认证
    :return:
    '''

    print('='*12,'登陆界面','='*12)
    id = input('请输入您的账号:')
    flag = 0
    for i in user_lib:
        if id == i['id']:
            passwd = input('请输入您的密码:')
            if passwd == i['passwd']:
                print('登陆成功!')
                print('-' * 39)
                flag=1
                user_page2(i['id'])
            else :
                print('密码错误!')
                print('-' * 39)
                input('按回车返回上一级菜单')
                login_user()
    if flag==0 :
        print('账号不存在!')
        print('-' * 39)
        input("按回车返回上一级菜单。")
        flag=1
# 2.测试 登陆功能
# login_user()

# 3.退出功能
def loginOut():
    print('byebye~')
    pass

# 4.取钱功能
def useMoney(user_a):
    for i in user_lib:
        if user_a == i['id']:
            num = int(input('请输入您要取出的金额:'))
            if i['balance'] >=num:
                i['balance'] = i['balance']-num
                print('您的余额为:',i['balance'],'元!')
                print('-' * 39)
                input('按回车返回上一级菜单!')
            else :
                print("您的余额不足!")
                print('-' * 39)
                input('按回车返回上一级菜单!')
# 4.测试 取钱
# useMoney('11022701')

# 5.存钱功能
def saveMoney(user_a):
    for i in user_lib:
        if user_a == i['id']:
            num = int(input('请输入您要存入的金额:'))
            i['balance'] = i['balance']+num
            print('您的余额为:',i['balance'],'元!')
            print('-' * 39)
            input('按回车返回上一级菜单!')

# 5.测试 存钱
# saveMoney('11022701')

# 6.界面 1
def uer_page1():
    while True:
        # 设置初始界面
        print('='*12,'网上银行登陆界面','='*12)
        print('{:1} {:13} {:15}'.format(' ','1.登陆到您的账号','2.退出当前界面'))
        print('-'*39)
        key = input('请输入对应的选择:')
        if key == '1' :
            login_user()
        elif key == '2':
            loginOut()
            break

# 6.界面 2
def user_page2(user_id):
    while True:
        # 设置初始界面
        print('=' * 12, '个人用户界面', '=' * 12)
        print('{:1} {:13} {:15}'.format(' ', '1.在线存款', '2.在线取款'))
        print('{:1} {:13} {:15}'.format(' ', '3.查询余额', '4.返回'))
        print('-' * 39)
        key = input('请输入对应的选择:')
        if key == '1':
            saveMoney(user_id)
        elif key == '2':
            useMoney(user_id)
        elif key == '3':
            for i in user_lib:
                if user_id == i['id']:
                    print('您的余额为:',i['balance'])
                    print('-' * 39)
                    input('按回车返回上一级菜单!')
        elif key == '4':
            break
            uer_page1()

uer_page1()
  print('您的余额为:',i['balance'])
                print('-' * 39)
                input('按回车返回上一级菜单!')
    elif key == '4':
        break
        uer_page1()

uer_page1()


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j7o4aYBR-1580562157441)(C:Users刘生伟AppDataRoamingTypora	ypora-user-imagesimage-20200201210042612.png)]
原文地址:https://www.cnblogs.com/hzshisan/p/12571088.html