Python學習之day02---學習創建購物小程序

要求:

    1、需要可以動態獲取所有商品

    2、購買的時候需要打印可用的餘額

    3、購買結束之後需要打印購物清單及餘額

一、代碼部分

product_list = [('Iphone',5800),('Ipad',5800),('Mac Pro',12800),('Bike',800),('Book',80)] #定義商品列表

shooping_list = []       #定義購物車
salary = input("請輸入你的工資:")
if salary.isdigit():        #判斷用戶輸入是否爲整數類型
    salary = int(salary)    #強制將結果轉換爲整數類型
    while True:            #當結果爲真的話
        for product_num in product_list:        #開始獲取商品數組對應的序列數值
            print(product_list.index(product_num),product_num)
        user_chose = input("請輸入您想要購買的商品序號:")      
        if user_chose.isdigit():            #判斷用戶輸入.需要分析一下用戶輸入的可能性:①輸入正確的商品序號進行購買商品②用戶輸入“q”來進行退出購買③用戶輸入的是除了商品序號以外的其他字符
            user_chose = int(user_chose)       #將用戶輸入強制轉換爲整數類型
            if   user_chose < len(product_list)  and user_chose > -1:     #判斷一下用戶輸入的數值範圍。len(product_list)意思爲數組的序號數值,否則打印商品不存在
                    pop_num = product_list[user_chose]        #獲取用戶輸入對應的商品數組
                    if pop_num[1] <= salary:                    #將工資與商品價格進行對比,買的起將會把商品加入至購物車,否則將打印餘額不足。
                        shooping_list.append(pop_num)            #將購買的商品加入至購物車
                        salary -= pop_num[1]                    #進行扣除購買商品所需的款項,等同於salary =salary - pop_num[1]
                        print("你已經購買了 %s , 你的工資還剩餘\033[31;1m%s\033[0m"%(pop_num,salary))        #進行格式化輸出,%s分別表示獲取輸出的對象pop_num和salary
                    else:
                        print("\033[33;1m您的餘額還剩 %s,還買個毛線。\033[0m"%salary)
            else:
                print("您輸入的商品%s不存在。")
        elif user_chose == 'q':
            print("----------Shooping  Info------------")
            for pop_list in shooping_list:
                print (pop_list) 
            print("\033[31;1m您現在還剩餘:%s\033[0m"%salary)
            exit()
        else:
            print("\033[31;1m您輸入錯了,請重新輸入。\033[0m")

二、程序運行如下:

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章