從零單排Python學習第二課
阿新 • • 發佈:2018-09-15
運行 http del product span rod 範圍 enumerate price
簡易購物車:
1,商品展示
2,添加商品到購物車
#list集合保存商品信息
product_list = [("電視機",5000), ("洗衣機",3000), ("電冰箱",2000), ("電吹風",1000), ("電風扇",300), ("熱水器",2900)]
#購物車數據 shopping_car = []
#當前余額 salary = 100000
#打印出商品信息 for index,item in enumerate(product_list): print(index,item) while True: print("---當前余額> %s 輸入‘q‘退出程序 輸入編號加入購物車---" % (salary)) choice = input("輸入商品編號>>") if choice.isdigit():#判斷輸入是否是編號 choice = int(choice) if choice < len(product_list) and choice >= 0:#判斷是否在下標範圍內 if salary > product_list[choice][1]:#判斷余額大於商品售價 salary = salary - product_list[choice][1]#計算余額 shopping_car.append(product_list[choice])#加入購物車 print("購物車商品>", shopping_car) else: print("余額不足") else: print("商品不存在") elif choice=="q":print("退出程序 》 購物車商品>", shopping_car) break else: print("輸入錯誤") break
購物車增強版↓↓
商品信息保存在文件中
增加賣家入口 商品可以添加 改價格
with open("product.txt") as f: product_list = list(eval(f.readline()))
#product.txt文件如下
[("電視機",5000),("洗衣機",3000),("電冰箱",2000),("電吹風",1000),("電風扇",300),("熱水器",2900)]
# Author ml with open("product.txt") as f:#讀取商品列表 product_list = list(eval(f.readline())) shopping_car = [] salary = 100000 while True: print("---當前余額> %s 輸入‘q‘退出程序 輸入‘e‘進入編輯模式 輸入編號加入購物車---" % (salary)) for index, item in enumerate(product_list): print(index, item)#商品展示 choice = input("輸入商品編號加入購物車>>") if choice.isdigit():#判斷輸入是否是編號 mode= 0 choice = int(choice) if choice < len(product_list) and choice >= 0:#判斷是否在下標範圍內 if salary > product_list[choice][1]:#判斷余額大於商品售價 salary = salary - product_list[choice][1] shopping_car.append(product_list[choice]) print("購物車商品>", shopping_car) else: print("余額不足") else: print("商品不存在") elif choice=="q": print("退出程序 》 購物車商品>", shopping_car) break elif choice=="e": mode = 1 print("正在編輯模式 添加商品請輸入 a","編輯商品價格請輸入編號") order = input(">>>") if order.isdigit(): order = int(order) if order < len(product_list) and order >= 0: # 判斷是否在下標範圍內 print(product_list[order]) new_price = int(input("請輸入價格>>")) if new_price>0: new_tuple = (product_list[order][0],new_price) product_list.insert(order,new_tuple) del product_list[order+1] with open("product.txt", "w") as f: f.write(str(product_list)) else: print("輸入價格不合法") elif order == "a": add_product = input("請輸入商品名稱及價格用‘/‘分割")#沒有對新增加商品正確性做判斷 new_tuple = tuple((add_product.split("/")[0],int(add_product.split("/")[1]))) product_list.insert(len(product_list),new_tuple) with open("product.txt", "w") as f: f.write(str(product_list)) else: print("輸入錯誤") break
運行圖↓↓
從零單排Python學習第二課