1. 程式人生 > >從零單排Python學習第二課

從零單排Python學習第二課

運行 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學習第二課