python 購物車

#! /usr/bin/env python
# -*- coding:utf-8 -*-
# -*- Author:Leon -*-

"""
功能要求:

要求用戶輸入總資產,例如:2000
顯示商品列表,讓用戶根據序號選擇商品,加入購物車
購買,如果商品總額大於總資產,提示賬戶餘額不足,否則,購買成功。
附加:可充值、某商品移除購物車
"""
# 代碼實現如下:

goods = [
    {"name": "電腦", "price": 1999},
    {"name": "鼠標", "price": 10},
    {"name": "遊艇", "price": 20},
    {"name": "美女", "price": 998},
]

cart = []

while True:
    try:
        assets_input = input("請輸入總資產金額:")
        assets = int(assets_input)
        print("總資產爲:",assets)
        break
    except:
        print("輸入錯誤... ...請重新輸入 !")

while True:
    for k,v in enumerate(goods,1):
            print(k,v['name'],v['price'])
    try:
        inp = input("請輸入所需要購買商品的序號:")
        inp_num = int(inp)
        pass
    # 判斷輸入正確性

        if inp_num< len(goods)+1:
            pass
        else:
            print("輸入序號錯誤... ...請重新輸入 !")
            continue

        inp_key = goods[inp_num-1]
        print("************************購物車信息*************************")
        print(inp_key['name'],inp_key['price'],"已加入購物車!")
        print("購物車的商品如下列表:")
        cart.append(inp_key)
        expense = 0
        for inp_key,inp_value in enumerate(cart,1):
            print(inp_key,"[",inp_value['name'],inp_value['price'],"]")
            p = inp_value['price']
            expense = int(expense + p)
        if assets > expense:
            shengyu = assets - expense
            print("還剩餘:",shengyu)
            print("提交購買請輸入:y\n繼續購買請輸入:g\n清空購物車輸入:c\n退出購物請輸入:b\n更新購物車輸入:w")
            print("********************************************************")
            userchoose = input("請提交選擇:")
            if userchoose == "y":
                count = len(cart)
                print("購買商品數量:",count)
                print("總金額:",shengyu)
                break
            elif userchoose == "g":
                continue
            elif userchoose == "c":
                del cart[:]
                print("已清空購物車,商品列表顯示:",cart)
            elif userchoose == "w":
                print("********************************************************")
                print("購物車清單如下:")
                for inp_key,inp_value in enumerate(cart,1):
                    print(inp_key,"[",inp_value['name'],inp_value['price'],"]")
                shopupdate= input("請選擇要去掉的商品序號:")
                update_num = int(shopupdate)
                update_numkey =update_num -1
                cart.remove(cart[update_numkey])
                print("購物車更新清單如下:")
                for inp_key,inp_value in enumerate(cart,1):
                    print(inp_key,"[",inp_value['name'],inp_value['price'],"]")
                count = len(cart)
                print("購買商品數量:",count)
                p = inp_value['price']
                shengyu = assets - int(p)
                print("還剩餘:",shengyu)
                print("********************************************************")
            elif userchoose==None or userchoose!='y' or userchoose!='c'or userchoose!='g' or userchoose!='w':
                print("輸入非法數值,請重新輸入... ...")
                continue
            else:
                userchoose == "b"
                break
        else:
            print("錢不夠,請充值:")
            assets_chongzhi = input("請輸入充值金額:")
            assets = assets + int(assets_chongzhi)
            print("充值成功,總資產爲:",assets)
            print("********************************************************")
    except:
        print("輸入序號錯誤... ...請重新輸入 !")

ps: 好久沒寫了,練練手,水平太太太 ... ... 不說了,哈哈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章