購物車v1版本

版權聲明

做者: 張志強(xeon)
出處: https://www.cnblogs.com/xeoon
郵箱: xeon@xeon.org.cn
本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。經過本博客學習的內容,形成任何後果均與本人無關!!!

做業:購物車
1. 用戶先給本身的帳戶充錢:好比先充3000元。
2. 頁面顯示 序號 + 商品名稱 + 商品價格,如:
1 電腦 1999
2 鼠標 10

n 購物車結算
3. 用戶輸入選擇的商品序號,而後打印商品名稱及商品價格,並將此商品,添加到購物車,用戶還可繼續添加商品。
4. 若是用戶輸入的商品序號有誤,則提示輸入有誤,並從新輸入。
5. 用戶輸入n爲購物車結算,依次顯示用戶購物車裏面的商品,數量及單價,若充值的錢數不足,則讓用戶刪除某商品,直至能夠購買,
若充值的錢數充足,則能夠直接購買。
6. 用戶輸入Q或者q退出程序。
7. 退出程序以後,依次顯示用戶購買的商品,數量,單價,以及這次共消費多少錢,帳戶餘額多少。python

goods = {
    '1': {'name': '手機', 'price': 1999},
    '2': {'name': '電腦', 'price': 8000},
    '3': {'name': '揹包', 'price': 200},
    '4': {'name': '鼠標', 'price': 50}
}

my = {
    'account': 0,  # 充值金額
    'shopping_cart': {},  # 已購買物品列表
    'deal_list': {}  # 成交列表
}

while True:
    money = input('請給帳戶充值金額(整數):').strip()
    if money.isdigit():
        my['account'] = int(money)
        break
    else:
        print('充值失敗,請從新充值:')

while True:
    print('商品列表'.center(26, '*'))
    for i in goods:
        print(i, goods[i]['name'], goods[i]['price'])

    x = input('請選擇商品序號 N結算退出 Q退出:')
    if x in goods:  # 在個人商品列表裏面
        count = my['shopping_cart'].setdefault(x, 0)
        my['shopping_cart'][x] = count + 1  # {'商品編號': 商品數量}

    elif x.upper() == 'Q':  # 退出
        break

    elif x.upper() == 'N':  # 結算退出
        num = 0
        for i in my['shopping_cart']:
            num += goods[i]['price'] * my['shopping_cart'][i]  # 商品價格 * 購買的數量
        if num > my['account']:  # 金額不足
            for i in my['shopping_cart']:
                print(i, goods[i]['name'], goods[i]['price'], my['shopping_cart'][i])  # 商品名稱 商品價格 商品數量
            xx = input('結算失敗,請刪除部分商品:')
            if xx in my['shopping_cart']:  # 刪除商品
                my['shopping_cart'].pop(xx)

        else:  # 金額足夠
            print('已購商品'.center(26, '*'))
            print('商品加入購物車成功')
            for i in my['shopping_cart']:
                print(goods[i]['name'], goods[i]['price'], my['shopping_cart'][i])  # 商品名稱 商品價格 商品數量
            my['account'] -= num  # 扣錢
            print('本次消費金額%s, 餘額%s' % (num, my['account']))
            break
    else:
        print('沒有此商品,請從新輸入:')
相關文章
相關標籤/搜索