Python初学时购物车程序练习实例(推荐)

yipeiwu_com6年前Python基础

废话不多说,直接上代码

#Author:Lancy Wu

product_list=[
 ('Iphone',5800),
 ('Mac Pro',9800),
 ('Bike', 800),
 ('Watch', 10600),
 ('Coffee', 31),
 ('Lancy Python', 120)
] #商品列表
shopping_list=[] #定义一个列表来存储已购商品
salary=input("请输入工资:")
if salary.isdigit(): #当输入的内容为数字
 salary=int(salary) #将输入的工资转换成int类型
 while True:
  #循环打印出所有商品列表,有两种写法,一般用下面一种
  # for item in product_list:
  #  print(product_list.index(item),item)
  for index,item in enumerate(product_list): #enumerate()这个方法是取出列表下标
   print(index,item)
  user_choice=input("是否购买商品?如果要购买商品请输入商品编号:")
  if user_choice.isdigit(): #当输入的商品编号为数字
   user_choice=int(user_choice) #将输入的商品编号转换成int类型
   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("您购买的商品为%s,余额为\033[31;1m%s\033[0m"%(p_item,salary)) #这个地方做了一下处理,将余额高亮显示
    else: #当商品的价格大于余额
     print("\033[41;1m你的余额只剩[%s]\033[0m"%salary) #这个地方做了一下处理,将余额高亮显示
   else:
     print("该商品不存在!")
  elif user_choice=='q': #当输入的商品编号为q时,打印购买的商品和余额并退出程序
   print("--------以下是购买的商品--------")
   for p in shopping_list:
    print(p)
   print("您的余额为:",salary)
   exit()
  else:
   print("该商品不存在!")

以上这篇Python初学时购物车程序练习实例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python dataframe 输出结果整行显示的方法

在使用dataframe时遇到datafram在列太多的情况下总是自动换行显示的情况,导致数据阅读困难,效果如下: # -*- coding: utf-8 -*- import nu...

selenium+python 对输入框的输入处理方法

最近自己在做项目的自动化测试(公司无此要求),在用户管理模块做修改用户信息时,脚本已经跑成功,并且的确做了update操作,但是自己登陆页面检查,信息却没有被修改,再次确定系统该模块的编...

django模板结构优化的方法

模版结构优化 引入模版 有时候一些代码是在许多模版中都用到的。如果我们每次都重复的去拷贝代码那肯定不符合项目的规范。一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函...

Python 遍历子文件和所有子文件夹的代码实例

Python 遍历子文件和所有子文件夹的代码实例

最近看ECShop到网上找资料,发现好多说明ECShop的文件结构不全面,于是想自己弄个出来。但这是个无聊耗时的工作,自己就写了个Python脚本,可以递归遍历目录下的所有文件和所有子目...

python放大图片和画方格实现算法

本文实例为大家分享了python放大图片和画方格的具体代码,供大家参考,具体内容如下 1、Python 放大图片和画方格算法 #!C:/Python27 # -*- coding:...