购物车小程序

介绍enumerate方法:将列表元素的下标取出,与该元素组成一个小元组

a = [1,2,3]
for i in enumerate(a):
    print(i)
--->
(0, 1)
(1, 2)
(2, 3)

主程序

###商品列表
product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('Book',120),
]

salary = input("input your salary:")
if salary.isdigit():
    salary = int(salary)
    while True:				      					#也可以换种方法:
        for item in product_list:					#for index,item in enumerate(producl_list)
            print(product_list.index(item),item)		 #print(index,item)
												    #enumerate方法将列表元素的下标取出,与元素组成一个小元组
		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:                 #买得起
                    shop_list.append(p_item)
                    salary -= p_item[1]
                    print("Added %s into shopping card,your current blance is \033[32;1m%s\033[0m"%(p_item,salary))
                else:
                    print("\033[41;1m你的余额不够了,只剩[%s]了,还买个锤子啊\033[0m"%salary)
            else:
                print("produce code [%s] is not exit"%user_choice)
        elif user_choice == 'q':
            print("----------shopping list-----------")
            for p in shop_list:
                print(p)
            print("Your current blance is:" ,salary)
            exit()
        else:
            print("invalid option")
else:
    print("请输入正确的工资数为数字")	
posted @ 2022-02-18 14:10  中國颜值的半壁江山  阅读(91)  评论(0)    收藏  举报