Python练习题(1)

题目:

员工信息包括,员工编号(ID),姓名(Name),职务(Title),电话(Phone),试开发一个有人机界面的程序能够完成以下功能:
① 能够添加新员工信息
② 列表打印所有员工信息
③ 输入一个员工编号,输出该员工所有信息
提示:本程序用元组设计界面与员工信息表的表头,每个员工信息用列表存储,利用字典组织数据集合

分析:

首先,我们先定义元祖用来存放菜单:

menu_tuple = ("员工信息系统(Python版)", "\t1:添加员工信息", "\t2:列表打印所有员工信息", "\t3:通过员工编号查询员工信息", "\t0:退出系统")

定义元祖存放表头:

emp_tuple = ("ID", "Name", "Title", "Phone")

定义列表存放员工信息:

emp_list = []

定义一个字典(dictionary):

emp_dict = {}

使用while语句让菜单可以循环输入:

while choice != 0:
    for i in menu_tuple:
        print i
    choice = input("请输入您想使用的功能序号:")
    if choice == 1:
        print "添加员工信息"
        emp_add(emp_list,emp_dict)
    elif choice == 2:
        print "列表打印所有员工信息"
        emp_list_p(emp_list, emp_tuple)
    elif choice == 3:
        print "通过员工编号查询员工信息"
        emp_find(emp_dict, emp_tuple)
    elif choice == 0:
        print "退出系统" + "\n" + "您已成功退出系统!"
        break

最后,在输入的时候别忘了进行异常处理哦!


运行效果如图:

这里写图片描述

完整代码如下:
Practice.py

# coding: utf-8
from Practice0401_fun import *

choice = -1  # 初始化choice
# 定义元祖用来存放菜单
menu_tuple = ("员工信息系统(Python版)", "\t1:添加员工信息", "\t2:列表打印所有员工信息", "\t3:通过员工编号查询员工信息", "\t0:退出系统")
# 定义元祖用来存放表头
emp_tuple = ("ID", "Name", "Title", "Phone")
# 定义列表用来存放员工信息
emp_list = []
# 定义一个字典(dictionary)
emp_dict = {}
# 使用while语句可以循环输入
while choice != 0:
    for i in menu_tuple:
        print i
    choice = input("请输入您想使用的功能序号:")
    if choice == 1:
        print "添加员工信息"
        emp_add(emp_list,emp_dict)
    elif choice == 2:
        print "列表打印所有员工信息"
        emp_list_p(emp_list, emp_tuple)
    elif choice == 3:
        print "通过员工编号查询员工信息"
        emp_find(emp_dict, emp_tuple)
    elif choice == 0:
        print "退出系统" + "\n" + "您已成功退出系统!"
        break

Practice_fun.py

# coding: utf-8

from prettytable import PrettyTable


def emp_add(emp_list, emp_dict):
    id = input("员工编号:")
    name = raw_input("姓名:")  # raw_input返回的永远是字符串
    title = raw_input("职务:")
    phone = raw_input("职务电话:")
    emp_list.append([`id`, name, title, phone])
    for i in emp_list:
        emp_dict[i[0]] = i[:]
    print "信息录入成功:员工编号: %s ,姓名: %s ,职务: %s ,职务电话: %s " % (`id`, name, title, phone)
    return 0


def emp_list_p(emp_list, emp_tuple):
    table = PrettyTable()  # 使用prettytable显示列表
    table.field_names = (emp_tuple[:])  # 使用元祖的内容作为表头
    for r in emp_list:
        table.add_row(r[:])
    print table


def emp_find(emp_dict, emp_tuple):
    try:  # 此处要进行异常处理
        ID = input("请输入员工编号(ID):")
        print type(emp_dict.get(`ID`))
        table = PrettyTable()  # 使用prettytable显示列表
        table.field_names = (emp_tuple[:])  # 使用元祖的内容作为表头
        table.add_row(emp_dict.get(`ID`))
        if emp_dict[`ID`] != "":
            print "查询到信息,列表如下:"
            print table
        else:
            print "未查询到信息!"
    except IOError, e:
        print "对不起,员工编号输入错误!请输入字符类型。"
    finally:
        print "END."
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴翔的技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值