一、编写一个【简易员工管理系统】
要求:阅读完【1.1:不使用函数编写】中的代码后,使用函数写出功能一致的代码。
1.1:不使用函数编写
# 显示系统的欢迎信息
print('-' * 20, '欢迎使用员工管理系统', '-' * 20)
# 创建一个列表,用来保存员工的信息,员工的信息以字符串的形式统一保存到列表
employees = ['孙悟空\t18\t男\t花果山', '猪八戒\t28\t男\t高老庄']
# 创建一个死循环
while True:
# 显示用户的选择
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.推出系统')
user_choose = input('请选择[1~4]: ')
print('-' * 62)
# 根据用户的选择做相关的操作
if user_choose == '1':
# 查询员工
# 打印表头
print(f'\t序号\t姓名\t年龄\t性别\t住址')
# 创建一个变量,来表示员工的序号
n = 1
# 显示员工信息
for emp in employees:
print(f'\t{n}\t{emp}')
n += 1
elif user_choose == '2':
# 添加员工
# 获取要添加员工的信息:姓名,年龄,性别,住址
emp_name = input('请输入员工的姓名:')
emp_age = input('请输入员工的年龄:')
emp_gender = input('请输入员工的性别:')
emp_address = input('请输入员工的住址:')
# 创建员工信息
# 将员工的四个信息拼接为一个字符串,然后插入到列表中
emp = f'{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}'
# 显示一个提示信息
print('以下员工将被添加到系统中')
print('-' * 62)
print('姓名\t年龄\t性别\t住址')
print(emp)
print('-' * 62)
user_confirm = input('是否确认该操作[Y/N]:')
# 判断
if user_confirm == 'Y' or user_confirm =='y' or user_confirm == 'yes':
# 确认
employees.append(emp)
# 显示提示信息
print('添加成功!')
else:
# 取消操作
print('添加已取消!')
elif user_choose == '3':
# 删除员工,根据员工的序号来删除员工
# 获取要删除的员工序号
del_num = int(input('请输入要删除的员工的序号:'))
# 判断序号是否有效
if 0 < del_num <= len(employees):
# 输入合法,根据序号来获取索引
del_i = del_num - 1
# 显示一个提示信息
print('以下员工将被删除')
print('-' * 62)
print('\t序号\t姓名\t年龄\t性别\t住址')
print(f'\t{del_num}\t{employees[del_i]}')
print('-' * 62)
user_confirm = input('该操作不可恢复,是否确认[Y/N]:')
# 判断
if user_confirm == 'Y' or user_confirm == 'y' or user_confirm == 'yes':
# 删除元素
employees.pop(del_i)
# 显示提示
print('员工已被删除!')
else:
# 操作取消
print('操作已取消!')
else:
# 输入有误
print('您的输入有误,请重新操作!')
elif user_choose == '4':
# 退出
print('欢迎您的使用,再见!')
input('点击 [回车键] 退出!')
break
else:
print('您的输入有误,请重新选择!')
# 打印分割线
print('-' * 62)
1.2:练习作业
使用函数编写代码如下:
# 员工管理系统程序
def welcome():
# 欢迎界面
print('-' * 20, '欢迎使用员工管理系统', '-' * 20)
# 创建一个死循环
while True:
# 显示用户的选择
print('请选择要做的操作:')
print('\t1.查询员工')
print('\t2.添加员工')
print('\t3.删除员工')
print('\t4.退出系统')
user_choose = input('请选择[1~4]: ')
print('-' * 62)
if user_choose == '1':
inquire_emp(user_choose)
elif user_choose == '2':
append_emp()
elif user_choose == '3':
delete_emp()
elif user_choose == '4':
quit_sys()
break
def inquire_emp(s:str):
# 查询员工
# 打印表头
print(f'\t序号\t姓名\t年龄\t性别\t住址')
# 创建一个变量,来表示员工的序号
n = 1
# 显示员工信息
for emp in employees:
print(f'\t{n}\t{emp}')
n += 1
def append_emp():
# 添加员工
# 获取要添加员工的信息:姓名,年龄,性别,住址
emp_name = input('请输入员工的姓名:')
emp_age = input('请输入员工的年龄:')
emp_gender = input('请输入员工的性别:')
emp_address = input('请输入员工的住址:')
# 创建员工信息
# 将员工的四个信息拼接为一个字符串,然后插入到列表中
emp = f'{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}'
# 显示一个提示信息
print('以下员工将被添加到系统中')
print('-' * 62)
print('姓名\t年龄\t性别\t住址')
print(emp)
print('-' * 62)
user_confirm = input('是否确认该操作[Y/N]:')
# 判断
if user_confirm == 'Y' or user_confirm == 'y' or user_confirm == 'yes':
# 确认
employees.append(emp)
# 显示提示信息
print('添加成功!')
else:
# 取消操作
print('添加已取消!')
def delete_emp():
# 删除员工,根据员工的序号来删除员工
# 获取要删除的员工序号
del_num = int(input('请输入要删除的员工的序号:'))
# 判断序号是否有效
if 0 < del_num <= len(employees):
# 输入合法,根据序号来获取索引
del_i = del_num - 1
# 显示一个提示信息
print('以下员工将被删除')
print('-' * 62)
print('\t序号\t姓名\t年龄\t性别\t住址')
print(f'\t{del_num}\t{employees[del_i]}')
print('-' * 62)
user_confirm = input('该操作不可恢复,是否确认[Y/N]:')
# 判断
if user_confirm == 'Y' or user_confirm == 'y' or user_confirm == 'yes':
# 删除元素
employees.pop(del_i)
# 显示提示
print('员工已被删除!')
else:
# 操作取消
print('操作已取消!')
else:
# 输入有误
print('您的输入有误,请重新操作!')
def quit_sys():
# 退出系统
print('欢迎您的使用,再见!')
input('点击 [回车键] 退出!')
# 测试程序:
# 创建一个列表,用来保存员工的信息,员工的信息以字符串的形式统一保存到列表
employees = ['孙悟空\t18\t男\t花果山', '猪八戒\t28\t男\t高老庄']
welcome()
二、编写一个【简易点餐系统】
要求:阅读完【2.1:不使用函数编写】中的代码后,使用函数写出功能一致的代码。
2.1:不使用函数编写
# 简易点餐系统
menu = [('宫爆鸡丁',15), ('红烧肉',30), ('水煮鱼',58), ('水果沙拉',20), ('大拌菜',15)]
select = []
message = []
while True:
print("欢迎光临华清餐厅,请选择:\n1、查看菜品\n2、点餐\n3、自助结帐\n4、请留言\n5、退出点餐系统")
n = input("请选择:")
if n == "1":
for i in menu:
print("菜品:%s,价格:%.2f元" % (i[0], i[1]))
elif n == "2":
for i, j in enumerate(menu):
print("%d %s:%s" % (i, j[0], j[1]))
while True:
s = int(input("请输入菜品的序号,输入 -1 则退出菜品选择:"))
if s == -1:
break
else:
select.append(menu[s])
if s != -1:
print('您选择的菜品是:')
for i in select:
print(i[0])
print('请稍等,正在准备菜品。。。')
elif n == "3":
t = 0
print('您选择的菜品是:')
for i in select: # 打印所选菜品
print(i)
t += i[1]
print('消费了:', t)
while True:
pay = int(input('请付款:')) # 支付金额
if pay >= t: # 支付金额大于菜钱
print('找零:', pay - t)
break
else:
print('金额不够!')
elif n == "4":
m = input('请您留下富贵的意见:')
message.append(m)
y = input('按 1 则可以查看所有评论:')
if y == '1':
for i in message:
print(i)
elif n == "5":
print('谢谢您的使用,再见!')
input('点击 [回车键] 退出!')
break
elif n == "-1":
break
2.2:练习作业
使用函数编写代码如下:
# 简易点餐系统程序
def welcome():
# 欢迎 & 点餐操作选择界面
while True:
print("欢迎光临华清餐厅:\n\t1、查看菜品\n\t2、点餐\n\t3、自助结帐\n\t4、请留言\n\t5、退出点餐系统")
user_choose = input("请选择 1~5 的一个序号:")
if user_choose == '1':
view_menu(user_choose)
elif user_choose == '2':
order_dishes(user_choose)
elif user_choose == '3':
settle_accounts(user_choose)
elif user_choose == '4':
user_message(user_choose)
elif user_choose == '5':
quit_system(user_choose)
break
def view_menu(s:str):
# 菜单展示界面
if s == "1":
for i in menu:
print("\t菜品:%s,\t价格:%.2f元" % (i[0], i[1]))
print()
def order_dishes(s:str):
# 点餐操作
if s == "2":
for i, j in enumerate(menu):
print("%d %s:\t%s" % (i, j[0], j[1]))
while True:
dishes_num = int(input("请输入菜品的序号,结束添加菜品请输入 -1 返回,并进行自助结账:"))
if dishes_num == -1:
break
elif (dishes_num != -1) and (0 < dishes_num <= len(menu)):
select.append(menu[dishes_num])
print('您选择的菜品是:')
for i in select:
print(i[0])
else:
print("输入错误!")
def settle_accounts(s:str):
# 自助结账
if s == "3":
if len(select) != 0:
t = 0
print('您选择的菜品是:')
for i in select: # 打印所选菜品
print(i)
t += i[1]
print('总计消费了:', t)
while True:
pay = int(input('请付款:')) # 支付金额
if pay >= t: # 支付金额大于菜钱
print('找零:', pay - t)
print('您的菜品正在准备中,请稍等~')
break
else:
print('金额不够!')
else:
print("您还未点餐,请先点餐!")
def user_message(s:str):
# 留言操作
if s == "4":
msg = input('请您留下富贵的意见:')
message.append(msg)
y = input('按 1 则可以查看所有评论:')
if y == '1':
for i in message:
print(i)
def quit_system(s:str):
# 退出点餐系统
if s == "5":
print('谢谢您的使用,再见!')
input('点击 [回车键] 退出!')
# 测试程序:
menu = [('宫爆鸡丁',15), ('红烧肉',30), ('水煮鱼',58), ('水果沙拉',20), ('大拌菜',15)]
select = []
message = []
welcome()