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深入学习之对象的属性

Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义...

Python判断变量是否已经定义的方法

Python判断变量是否已经定义是一个非常重要的功能,本文就来简述这一功能的实现方法。 其实Python中有很多方法可以实现判断一个变量是否已经定义了。这里就举出最常用的两种作为示例,如...

Python3实现汉语转换为汉语拼音

Python3实现汉语转换为汉语拼音

本文实例为大家分享了Python3实现汉语转换为汉语拼音的具体代码,供大家参考,具体内容如下 工具: Python3.6.2,pycharm 1.使用了 第三方模块 pypinyin(点...

numpy创建单位矩阵和对角矩阵的实例

在学习linear regression时经常处理的数据一般多是矩阵或者n维向量的数据形式,所以必须对矩阵有一定的认识基础。 numpy中创建单位矩阵借助identity()函数。更为准...

对python中的高效迭代器函数详解

对python中的高效迭代器函数详解

python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先im...