0x1 前言
Python語言能做很多東西的,像資料分析啊、自動化、開發、
爬蟲(真的很棒喲,初學者玩很有成就感的啊哈哈)等等還有挺多,
0x2 用Python撰寫的一個小型購物車程式
import time money = 0 goods_lst = [ {"name": "電腦", "price": 1999}, {"name": "滑鼠", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, {"name": "風油精", "price": 30}, ] # 定義購物車字典 car = {} # 1:{電腦 ... } # 2:{滑鼠 .... } def recharge(): global money while True: num = input("請充值吧,大哥") if num.isdecimal(): money = int(num) print("恭喜你~ 充值成功{}元人民幣".format(money)) break else: print("充值失敗,非數字.") def loading(): print("加載商品中 ... ") time.sleep(1) def show_goods(): strvar = "{}".format("商品名稱").center(18) print("序號" + strvar + "價格") for k, v in enumerate(goods_lst, start=1): v['num'] = k strvar = "{v[num]:<10}{v[name]:<12}{v[price]}".format(v=v) print(strvar) def error(): strvar = ''' ************************************************** * 您輸入的選項不存在 , 請重新輸入 * ************************************************** ''' print(strvar) time.sleep(1) def add_car(num): """如果在購物車中,在數量上加1,如果不在購物車中,就添加新商品""" if num not in car: car[num] = {"name": goods_lst[num - 1]["name"], "price": goods_lst[num - 1]["price"], "amount": 1} else: car[num]["amount"] += 1 print(car) def show_car(num): # print(car) print("*" * 50) print("您選擇的商品具體資訊:") print("*-商品名稱:{}".format(car[num]["name"])) print("*-商品單價:{}".format(car[num]["price"])) print("*-商品數量:{}".format(car[num]["amount"])) print("已成功添加到購物車~ 請繼續shopping ~") print("*" * 50) def balance(): total = 0 print("[-------------------您購物車的具體商品如下:-------------------]") # 序號2: 商品名稱:滑鼠 商品單價:10 商品數量:1 此商品總價:10 for k, v in car.items(): v["num"] = k v["total"] = v["price"] * v["amount"] total += v["total"] strvar = "序號{v[num]}: 商品名稱:{v[name]} 商品單價:{v[price]} 商品數量:{v[amount]} 此商品總價:{v[total]}".format(v=v) print(strvar) return total # total 一共花的錢,money 充值金額 def success(total, money): print("[一共:{}元]".format(total)) print("[您已經成功購買以上所有商品 , 余額還剩{}元,感謝您下次光臨~]".format(money - total)) time.sleep(1) def del_goods(total, money): print("余額不足,還差{}元,請忍痛割愛,洗掉某些商品".format(total - money)) sn = input("[-------------------請輸入要洗掉的商品序號:-------------------] ") if sn.isdecimal(): sn = int(sn) if sn in car: car[sn]["amount"] -= 1 if not car[sn]["amount"]: car.pop(sn) else: error() else: error() def myexit(): print("[============== 歡迎下次光臨: ==============]") time.sleep(1) # N結算 Q退出 序號購買 # 主函式,進行統一呼叫 def main(): # 充值 recharge() # 加載中 # loading() # 展示商品 show_goods() # 開始購物 sign = True while sign: num = input("請輸入您要購買的商品") if num.isdecimal(): num = int(num) if (1 <= num) and (num <= len(goods_lst)): add_car(num) else: print("輸入有誤,沒有該序號的商品,請重新輸入") continue # 展示購物車 show_car(num) elif num.upper() == "N": while True: # 開始結算 total = balance() if total > money: # 洗掉商品 del_goods(total, money) else: # 購買成功 success(total, money) sign = False break print(total) elif num.upper() == "Q": # 退出 myexit() sign = False else: error() main()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/540338.html
標籤:Python
上一篇:pandas資料清洗
