• python 购物车和三级菜单


    程序:购物车程序

    需求:

    1. 启动程序后,让用户输入工资,然后打印商品列表
    2. 允许用户根据商品编号购买商品
    3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 
    4. 可随时退出,退出时,打印已购买商品和余额
    #-*- coding:utf8 -*-
    shopping_list=[]
    product_list = [
        ('Iphone',5800),
        ('Mac Pro',9800),
        ('Bike',800),
        ('Watch',10600),
        ('Coffee',31),
        ('Alex Python',120),
    ]
    salary = input("Input your salary:")
    if salary.isdigit():
        salary=int(salary)
        while True:
            for index ,item in enumerate(product_list):
                print(index,item)
            user_choice=input("请选择您要买的商品:")
            if user_choice.isdigit():
                user_choice=int(user_choice)
                if user_choice<len(product_list) and user_choice>=0:
                    item_choice=product_list[user_choice]
                    if item_choice[1]<=salary:
                        print ("买的起")
                        shopping_list.append(item_choice)
                        salary-=item_choice[1]
                        print("将您的商品%s加入购物车,余额%s" %(item_choice,salary))
                    else:
                        print("余额不够:",salary)
                else:
                    print("商品不存在")
            elif user_choice=='q':
                print("--打印商品列表-----")
                for i in product_list:
                    print(i)
                    print("您当前的余额:",salary)
                    exit()
            else:
                    print ("不正确")

    程序: 三级菜单

    要求: 

    1. 打印省、市、县三级菜单
    2. 可返回上一级
    3. 可随时退出程序
    #-*- coding:utf8 -*-
    data = {
        '北京':{
            "昌平":{
                "沙河":["oldboy","test"],
                "天通苑":["链家地产","我爱我家"]
            },
            "朝阳":{
                "望京":["奔驰","陌陌"],
                "国贸":{"CICC","HP"},
                "东直门":{"Advent","飞信"},
            },
            "海淀":{},
        },
    
        '广东':{
            "东莞":{},
            "常熟":{},
            "佛山":{},
        },
    }
    
    exit_flag=True
    while exit_flag:
        for i in data:
            print(i)
        choice=input("请选择入口:")
        if choice in data:
            while exit_flag:
                for i2 in data[choice]:
                    print("		",i2)
                choice2=input("请选择入口2:")
                if choice2 in data[choice]:
                    while exit_flag:
                        for i3 in data[choice][choice2]:
                            print("		",i3)
                        choice3=input("请选择入口3:")
                        if choice3 in data[choice][choice2]:
                                for i4 in data[choice][choice2][choice3]:
                                    print("		", i4)
                                choice4=input("最后一层按b返回:")
                                if choice4=='b':
                                    pass
                                if choice4=='q':
                                    exit_flag=False
                        if choice3=="b":
                            break
                        elif choice3=="q":
                            exit_flag=False
                if choice2=="b":
                    break
                elif choice2=="q":
                    exit_flag=False
  • 相关阅读:
    Spring中bean的生命周期
    HashMap与HashTable原理及数据结构
    HashMap 与HashTable的区别
    2 rocketmq mqadmin 的用法详解
    搭建RocketMQ踩的坑-内存不足
    解决Hash碰撞冲突方法总结
    大端BigEndian、小端LittleEndian与字符集编码
    Linux中最常用的JAVA_HOME配置
    WIP_DISCRETE_JOBS.STATUS_TYPE
    Inventory > INV.MTL_MATERIAL_TRANSACTIONS Show Error Msg: ORA-20100: File lxxx.tmp creation for FND_FILE failed.
  • 原文地址:https://www.cnblogs.com/xuehuahongmei/p/5786190.html
Copyright © 2020-2023  润新知