【每周python练习-1】简易购物系统

前言

主要用来练习 python 基础类型和条件判断。

代码部分

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time     : 2022-07-29 10:37
# @Author   : hukey
# @Software : PyCharm

good_list = [
    {'name': '苹果', 'price': 10},
    {'name': '香蕉', 'price': 20},
    {'name': '菠萝', 'price': 30},
]

shopping_car = {}

money = input('输入金额:').strip()
if money.isdigit() and int(money) > 0:
    while True:
        for index, val in enumerate(good_list):
            print('{}\t商品名:{}\t单价:{}'.format(index+1, val['name'], val['price']))
        choice = input('输入序号【e:查询余额 q:退出】:').strip()
        if choice.isdigit() and int(choice) <= len(good_list):
            num = input('请输入数量:').strip()
            if num.isdigit():
                if int(money) >= good_list[int(choice)-1]['price'] * int(num):
                    money = int(money) - good_list[int(choice)-1]['price'] * int(num)
                    if good_list[int(choice)-1]['name'] in shopping_car:
                        shopping_car[good_list[int(choice)-1]['name']] = shopping_car[good_list[int(choice)-1]['name']] + int(num)
                    else:
                        shopping_car[good_list[int(choice)-1]['name']] = int(num)
                    print('购买成功,余额:%.2f 元' % money)
                    print('购物车'.center(20,'#'))
                    for k, v in shopping_car.items():
                        print('商品名:{}\t数量:{}'.format(k, v))
                    print(''.center(22, '#'))
                else:
                    print('\033[31;1m购买失败。\033[0m')
            else:
                print('\033[31;1m请输入正确数量\033[0m')
        elif choice.lower() == 'q':
            print('欢迎下次光临!')
            break
        elif choice.lower() == 'e':
            print('余额为:%.2f 元' % float(money))
        else:
            print('\033[31;1m请输入正确的序号。\033[0m')
else:
    print('\033[31;1m请输入正确的金额.\033[0m')
posted @ 2022-07-29 11:05  hukey  阅读(420)  评论(0)    收藏  举报