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 = 0
    for name, num in goods_dict.items():
        total_money = all_goods()[name] * num
        #总金额
        count += total_money
    print("需要支付金额:",count,"元")

def main():
    goods_dict = {}#用户的选择,品名和数量
    print("饮品自动售货机")
    show_goods()
    #循环选购的商品
    print("输入q完成购买")
    while True:
        goods_name = input("请输入购物的商品:")
        if goods_name == 'q':
            break
        if 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_name
    new_info['sex'] = new_sex
    new_info['phone'] = new_phone
    stu_info.append(new_info)

#删除学生信息
def del_stu_info(student):
    del_num = int(input("请输入要删除的序号:")) - 1
    del 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_name
        stu_info[stu_id - 1]['sex'] = new_sex
        stu_info[stu_id - 1]['phone'] = new_phone
    else:
        print('学生信息表为空')

#显示所有的学生信息
def show_stu_info():
    print('学生的信息如下:')
    print('=' * 30)
    print('序号     姓名    性别    手机号码')
    i = 1
    for 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("谢谢使用!")
                break
            elif quit_confirm == 'no':
                continue
            else:
                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_name
    new_info['sex'] = new_sex
    new_info['phone'] = new_phone
    stu_info.append(new_info)

#删除学生信息
def del_stu_info(student):
    del_num = int(input("请输入要删除的序号:")) - 1
    del 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_name
        stu_info[stu_id - 1]['sex'] = new_sex
        stu_info[stu_id - 1]['phone'] = new_phone
    else:
        print('学生信息表为空')

#显示所有的学生信息
def show_stu_info():
    print('学生的信息如下:')
    print('=' * 30)
    print('序号     姓名    性别    手机号码')
    i = 1
    for 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_info
    file = 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("谢谢使用!")
                break
            elif quit_confirm == 'no':
                continue
            else:
                print("输入有误!")

if __name__ == '__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小田同学。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值