1. 程式人生 > >python基礎學習之利用列表寫購物車程式及其優化程式

python基礎學習之利用列表寫購物車程式及其優化程式

product_list= [
    ('IPhone',5800),
    ('book',38),
    ('bike',800),
    ('bow',70),
    ('cap',100),
    ('map',10),
 ]
shopping_list=[]
salary=input("you salary is:")
if  salary.isdigit():             #判斷整數
    salary=int(salary)
    while True:
        for index,item in enumerate(product_list):   #取出列表下標
              #print(product_list.index(item),item)
              print(index,item)
        user_choice=input("選擇要買什麼?>>>;")
        if user_choice.isdigit():
            user_choice=int(user_choice )
            if user_choice< len(product_list) and user_choice >=0:
                p_item=product_list[user_choice ]  #包含名稱和價格
                if p_item[1] <= salary:    #買得起
                    shopping_list.append(p_item )
                    salary-=p_item[1]
                    print("Added %s into shopping cart,your current balance is salary\033[31;1m%s\033[0m"%(p_item,salary))
                else:
                    print("你的餘額只剩\033[32;1m%s\033[0m啦,還買個毛線!"%salary )
            else:
                print("product [%s] code is not exist!"%user_choice )

        elif user_choice == 'q':
             print("--------shopping list--------")
             for p in shopping_list :
                 print(p)
             print("your current balance is:",salary)
             exit()


        else:
            print("invalid option")

else:
    print("invalid format")

優化: