day2_列表循环作业_shopping

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Kxk
'''
程序:购物车程序
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
'''

product_list = [
('Iphone',5800),
('Mac Pro',9800),
('Bike',800),
('Watch',10600),
('Coffee',31),
('Book',88),
]
shopping_list = []

salary = input("Input your salary:") #输入工资
if salary.isdigit(): #判断工资是否为数字
salary = int(salary) #如果为数字int,进入死循环
while True:
for index,item in enumerate(product_list): #打印商品列表,取数组的下标enumerate
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) #添加到shopping_list表中
salary -= p_item[1]
print("Added %s into shopping cart,your current balance is 33[31;1m%s33[0m" %(p_item,salary)) #其中33[31;1m%s33[0m 为固定写法,只能背下
                else:
print("33[42;1m你的余额只剩下[%s]啦,还买个屁33[0m" % salary)
else:
print("product code [%s] is not exist!"% user_choice)
elif user_choice == 'q':
print("-----------shopping list------------")
for p in shopping_list:
print(p)
print("Your current balance:",salary)
exit()
else:
print("invalid option")
原文地址:https://www.cnblogs.com/kxk0126/p/8652289.html