python购物车程序的简单程序优化版

# 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("已完成购买,您当前的余额为\033[41;1m%s\033[0m" % (salary))
               else:
                     print("余额不足,请重新选择!")
            else:
                print("没有该手机编号,请重新选择!")
    elif user_choice=='q':
            print("--------已购买的手机清单---------")
            for data in bought_list:
                print(data)
            print("您的余额为\033[31;1m%s\033[0m" % (salary))
            print("谢谢购买,欢迎下次光临!")
            exit()
    else:
            print("输入错误的信息,请重新选择")

 小结:

1.输出列表带编号(下标)的方法:

for index,data in enumerate(shop_list)

    print(index,data) 

其中,index,data分别为编号(下标)和元素,相比于之前的购物车小程序,省去了在列表中标出各个手机产品的编号

2.高亮表示法的标准格式以及参数;

#高亮:
标准格式为 '\033[?;?;?m%s\033[0m' % (xxx)
其中,问号为以下三种格式中分别任选一种
特殊显示方式 :0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
字体颜色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)
背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)
如以下程序
test="this is a test"
print('\033[31;1;42m%s\033[0m' %(test))   #其中,三种参数的顺利并无作要求
print('\033[34;1;42m你好\033[0m')         #也可以写中文,不需要引用字符串变量

3.判断是否为数字的函数,并将其转换为整数型

#判断是否为数字,*.isdigit()
salary=input(salary)
if salary.isdigit():
   salary=int(salary)          #如果为数字,则转换为整数类型;

 

posted @ 2019-05-13 19:57  LBC不认输  阅读(148)  评论(0编辑  收藏  举报