函数)"/>
Python实验六(函数)
一、饮料自动售货机
#饮品信息
def all_goods():goods = {"可口可乐":2.5,"百事可乐":2.5,"冰红茶":3,"脉动":3.5,"果缤纷":3,"绿茶":3,"茉莉花茶":3,"尖叫":2.5}return goods#展示饮品信息
def show_goods():for x,y in all_goods().items():print(x, ":", str(y) + "元")#计算金额
def total(goods_dict):count = 0for name, num in goods_dict.items():total_money = all_goods()[name] * num#总金额count += total_moneyprint("需要支付金额:",count,"元")def main():goods_dict = {}#用户的选择,品名和数量print("饮品自动售货机")show_goods()#循环选购的商品print("输入q完成购买")while True:goods_name = input("请输入购物的商品:")if goods_name == 'q':breakif goods_name in [g_name for g_name in all_goods().keys()]:goods_num = input("请输入购物数量:")if goods_num.isdigit():goods_dict[goods_name] = float(goods_num)else:print('商品数量不合法')else:print("请输入正确的商品名称")total(goods_dict)if __name__ == '__main__':main()
二、学生管理系统
#新建一个列表,用来保存学生的所有信息
stu_info = []
#功能打印
#打印功能菜单
def print_menu():print('=' * 30)print('学生管理系统')print("1.添加学生信息")print("2.删除学生信息")print("3.修改学生信息")print("4.查询所有学生信息")print("5.查询学生信息")print("0.退出系统")print("=" * 30)#添加学生信息
def add_stu_info():#提示并获取学生的姓名new_name = input('请输入新学生的姓名:')#提示并获取学生的性别new_sex = input("请输入新学生的性别:")#提示并获取学生的手机号new_phone = input("请输入新学生的手机号码:")new_info = dict()new_info['name'] = new_namenew_info['sex'] = new_sexnew_info['phone'] = new_phonestu_info.append(new_info)#删除学生信息
def del_stu_info(student):del_num = int(input("请输入要删除的序号:")) - 1del student[del_num]print("删除成功!")#修改学生信息
def modify_stu_info():if len(stu_info) != 0:stu_id = int(input("请输入要修改学生的序号:"))new_name = input("请输入要修改的学生的姓名:")new_sex = input("请输入要修改的学生的性别:(男/女)")new_phone = input("请输入要修改学生的手机号码:")stu_info[stu_id - 1]['name'] = new_namestu_info[stu_id - 1]['sex'] = new_sexstu_info[stu_id - 1]['phone'] = new_phoneelse:print('学生信息表为空')#显示所有的学生信息
def show_stu_info():print('学生的信息如下:')print('=' * 30)print('序号 姓名 性别 手机号码')i = 1for tempInfo in stu_info:print("%d %s %s %s" %(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))i += 1
#查询学生信息
def show_stu():name = input("请输入要查询的学生的姓名:") print('=' * 30)for item_dict in stu_info:if item_dict["name"] == name:print(name,'的信息如下:')print('=' * 30)print('姓名 性别 手机号码')print("%s %s %s" %(item_dict["name"],item_dict["sex"],item_dict["phone"]))else: print("没有找到这个学生")#在main函数中执行不同的功能
def main():while True:print_menu() #打印菜单功能key = input("请输入功能对应的数字:") #获取用户输入的序号if key == '1': #添加学生信息add_stu_info()elif key == '2': #删除学生信息del_stu_info(stu_info)elif key == '3': #修改学生信息modify_stu_info()elif key == '4': #查询所有学生信息show_stu_info()elif key == '5': #查询学生信息show_stu()elif key == '0':quit_confirm = input("确定要退出吗?(Yes or No)").lower()if quit_confirm == 'yes':print("谢谢使用!")breakelif quit_confirm == 'no':continueelse:print("输入有误!")if __name__ == '__main__':main()
三、学生管理系统文件版
#新建一个列表,用来保存学生的所有信息
stu_info = []
#功能打印
#打印功能菜单
def print_menu():print('=' * 30)print('学生管理系统')print("1.添加学生信息")print("2.删除学生信息")print("3.修改学生信息")print("4.查询所有学生信息")print("5.查询学生信息")print("6.保存当前所有学信息到文件")print("7.恢复数据")print("0.退出系统")print("=" * 30)#添加学生信息
def add_stu_info():#提示并获取学生的姓名new_name = input('请输入新学生的姓名:')#提示并获取学生的性别new_sex = input("请输入新学生的性别:")#提示并获取学生的手机号new_phone = input("请输入新学生的手机号码:")new_info = dict()new_info['name'] = new_namenew_info['sex'] = new_sexnew_info['phone'] = new_phonestu_info.append(new_info)#删除学生信息
def del_stu_info(student):del_num = int(input("请输入要删除的序号:")) - 1del student[del_num]print("删除成功!")#修改学生信息
def modify_stu_info():if len(stu_info) != 0:stu_id = int(input("请输入要修改学生的序号:"))new_name = input("请输入要修改的学生的姓名:")new_sex = input("请输入要修改的学生的性别:(男/女)")new_phone = input("请输入要修改学生的手机号码:")stu_info[stu_id - 1]['name'] = new_namestu_info[stu_id - 1]['sex'] = new_sexstu_info[stu_id - 1]['phone'] = new_phoneelse:print('学生信息表为空')#显示所有的学生信息
def show_stu_info():print('学生的信息如下:')print('=' * 30)print('序号 姓名 性别 手机号码')i = 1for tempInfo in stu_info:print("%d %s %s %s" %(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))i += 1#保存当前所有的学生信息到文件中
def save_to_file():file = open('D:\\data.txt','w')file.write(str(stu_info))file.close()#恢复数据
def recover_data():global stu_infofile = open("D:\\data.txt")content = file.read()if content != "":stu_info = eval(content)file.close()
#查询学生信息
def show_stu():name = input("请输入要查询的学生的姓名:") print('=' * 30)for item_dict in stu_info:if item_dict["name"] == name:print(name,'的信息如下:')print('=' * 30)print('姓名 性别 手机号码')print("%s %s %s" %(item_dict["name"],item_dict["sex"],item_dict["phone"]))else: print("没有找到这个学生")#在main函数中执行不同的功能
def main():while True:print_menu() #打印菜单功能key = input("请输入功能对应的数字:") #获取用户输入的序号if key == '1': #添加学生信息add_stu_info()elif key == '2': #删除学生信息del_stu_info(stu_info)elif key == '3': #修改学生信息modify_stu_info()elif key == '4': #查询所有学生信息show_stu_info()elif key == '5': #查询学生信息show_stu()elif key == '6': #保存学生信息save_to_file()elif key == '7': #恢复数据recover_data()elif key == '0':quit_confirm = input("确定要退出吗?(Yes or No)").lower()if quit_confirm == 'yes':print("谢谢使用!")breakelif quit_confirm == 'no':continueelse:print("输入有误!")if __name__ == '__main__':main()
更多推荐
Python实验六(函数)
发布评论