Python经典例题——超市买水果系统

超市水果计算系统

原代码:

product_list = [{'name': '苹果', 'price': 10},
              {'name': '榴莲', 'price': 30},
              {'name': '草莓', 'price': 20},
              {'name': '菠萝', 'price': 15}, ]
# 1 创建一个购物车盛放水果
shopping_cart = {}
# 2 提示用户输入钱
money_str = input('请展示一下你的钱:')
if money_str.isdigit():
    user_money = int(money_str)  # 类型转换
    # 3 展示商品
    for index, dic in enumerate(product_list, start=1):
        print('水果的序号:{},名称:{},价格:{}'.format(index, dic['name'], dic['price']))
    while True:
        # 4 输入序号
        num_xh_str = input('请输入序号:')
        if num_xh_str.isdigit():
            num_xh = int(num_xh_str)  # 类型转换
            if num_xh > 0 and num_xh <= len(product_list):
                # 5 输入数量
                num_sl_str = input('请输入数量:')
                if num_sl_str.isdigit():
                    num_sl = int(num_sl_str)  # 类型转换
                    # 1,求商品的总价格  数量*价钱
                    # 根据序号找到水果的价格
                    num_dj = product_list[num_xh - 1]['price']  # 注意索引的获取
                    product_total_money = num_dj * num_sl  # 购买某一种水果的总价钱
                    # 2,水果总价钱和用户的钱进行比较
                    if product_total_money <= user_money:
                        # 将商品添加到购物车
                        # 1.获取序号对应的商品名称
                        product_name = product_list[num_xh - 1]['name']
                        ret = shopping_cart.get(product_name)  # 去购物车查找对应的商品名称
                        # None
                        if ret:
                            # 获取购物车中原有的数量
                            yysl = shopping_cart[product_name]
                            # 总共的数量
                            shopping_cart[product_name] = yysl + num_sl
                            print(shopping_cart)

                        else:
                            #添加数量
                            shopping_cart[product_name] = num_sl
                            print(shopping_cart)
                            #  去购物车进行查询如果有就添加数量 如果没有就添加商品和数量
                            # 输出用户剩余的钱
                        user_money = user_money - product_total_money
                        print('用户剩余的钱:', user_money)
                    else:
                        print('您的余额不足')
                        break
                else:
                    print('数量是数字哦。')
            else:
                print('请仔细看')
        else:
            print('序号是由数字组成,请输入数字')
else:
print('你的钱怎么不是数字呢')

运行结果:

请展示一下你的钱:500
水果的序号:1,名称:苹果,价格:10
水果的序号:2,名称:榴莲,价格:30
水果的序号:3,名称:草莓,价格:20
水果的序号:4,名称:菠萝,价格:15
请输入序号:1
请输入数量:30
{'苹果': 30}
用户剩余的钱: 200
请输入序号:2
请输入数量:5
{'苹果': 30, '榴莲': 5}
用户剩余的钱: 50
请输入序号:3
请输入数量:300
您的余额不足

你可能感兴趣的:(Python经典例题——超市买水果系统)