#! /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: 很久沒寫了,練練手,水平太太太 ... ... 不說了,哈哈python