python 基础(四)购物车(list类型练习)

'''
需求:
启动程序,让用户输入工资,打印商品列表
让用户根据商品编号购买商品
选择商品后,判断是否足额,不足提醒,足扣款
可以随时退出,退出显示余额和已购商品
'''


#商品列表
prodnct_list = [
('Iphonr' ,6000),
('HUAWEI',4000),
('Mac pro',9800),
('Watch',12800)
]
#定义一个空的已买商品列表
shopping_list = []
salary = input('请输入你的工资:')
#判断是否为整数
if salary.isdigit(): #isdigit:整数(不区分是否是字符串还是数字类型)
#转换成int类型
salary = int(salary)
while True:
#打印出商品列表及下标选项
for index,item in enumerate(prodnct_list): #enumerate:取下标
#print(prodnct_list.index(item),item) #index:显示下标
print(index,item)
user_choice = input('请选择要买的商品:')
#判断输入数据是否为整数
if user_choice.isdigit():
#转换成int类型
user_choice = int (user_choice)
#判断输入的整数是否小于商品列表的长度,大于等于0
if user_choice < len(prodnct_list) and user_choice >=0: #len:显示列表的长度
#把选中的商品取出来
p_item = prodnct_list[user_choice]
#判断选中的商品金额是否小于等于工资金额
if p_item[1] <= salary:
#把该商品加入到shopping_list列表中
shopping_list.append(p_item) #append:增加
#在工资中减掉该商品的钱
salary -= p_item[1]
print("已购买[%s],余额为[%s] "%(p_item,salary))
else:
print('余额为[%s],不能买该商品' %(salary))
else:
print('%s商品不存在'%(user_choice))
elif user_choice == 'q':
print('-----已购买如下商品-----')
for i in shopping_list:
print(i)
print('余额为:',salary)
exit()
else:
print('该商品不存在,请重新输入\nq为退出')
else:
print('请输入整数')
posted @ 2020-05-18 00:51  云雾迷歌  阅读(291)  评论(0编辑  收藏  举报