# Author:barry allen # -*- coding:utf-8 -*- shop_list=[("IPHONE",8000),("MI",5000),("NOKIA",1200),("HUAWEI",2400),("CHINA",4100)] salary=input("请输入您的存款:") if salary.isdigit(): salary=int(salary) bought_list=[] #已购买手机的清单 while True: for index,data in enumerate(shop_list): print(index,data) user_choice=input("请输入您需要购买的手机编号,若您不想购买,请输入q退出系统!") if user_choice.isdigit(): user_choice=int(user_choice) if user_choice>=0 and user_choice<len(shop_list): tem=shop_list[user_choice] #tem为临时变量,用于比较是否能继续购买 if tem[1]<=salary: salary-=tem[1] bought_list.append(tem) #调用列表函数.append(),此时传进去的元素是一个整体,作为新列表的子列表 print("已完成购买,您当前的余额为 33[41;1m%s 33[0m" % (salary)) else: print("余额不足,请重新选择!") else: print("没有该手机编号,请重新选择!") elif user_choice=='q': print("--------已购买的手机清单---------") for data in bought_list: print(data) print("您的余额为 33[31;1m%s 33[0m" % (salary)) print("谢谢购买,欢迎下次光临!") exit() else: print("输入错误的信息,请重新选择")
小结:
1.输出列表带编号(下标)的方法:
for index,data in enumerate(shop_list)
print(index,data)
其中,index,data分别为编号(下标)和元素,相比于之前的购物车小程序,省去了在列表中标出各个手机产品的编号
2.高亮表示法的标准格式以及参数;
#高亮: 标准格式为 '