python简单商城购物车实例代码

yipeiwu_com6年前Python基础

本文为大家分享一个简单商城购物车的python代码,供大家参考,具体内容如下

要求:

1、写一段商城程购物车序的代码
2、用列表把商城的商品清单存储下来,存到列表 shopping_mail
3、购物车的列表为shopping_cart
4、用户首先输入工资金额,判断输入为数字
5、用户从商城购物清单中选择购买物品,每次购买成功就用工资减去物品单价
6、判断用户金额是否足够,不足够提示用户
7、如果用户不想再继续购物,则按Q键退出菜单
8、用户退出之后,将用户购买的清单打印出来。
9、尽量学习带颜色输出几个重点信息字符。

代码

 # Author:show530

shopping_mail = [
  ('Iphone',5800),
  ('Mac Pro',9800),
  ('Bike',800),
  ('Watch',10600),
  ('Coffee',31),
  ('Alex Python',120),
]
shopping_cart = []

salary=input("请输入您的工资金额:")
if salary.isdigit():
  salary=int(salary)
  while True:
    for index,item in enumerate(shopping_mail):
      print(index,item)
    enter_number=input("请输入您要购买的商品编号:")
    if enter_number.isdigit():
      enter_number=int(enter_number)
      if enter_number>-1 and enter_number<len(shopping_mail):
        p_item=shopping_mail[enter_number]
        if p_item[1]<=salary:
          shopping_cart.append(p_item)
          salary-=p_item[1]
          print("您选购的商品金额是:\033[31m%s\033[0m,您的工资余额为:\033[31m%s\033[0m" % (p_item, salary))
        else:
          print("您的余额不足,无法继续购买!")
      else:
         print("您输入的商品编号不存在:")
    elif enter_number=="q":
      print("\033[0;32;40m------您本次购物清单为-------\033[0m")
      for p in shopping_cart:
        print(p)
      print("您的余额为:\033[31m%s\033[0m"%(salary))
      exit()
    else:
        print("\033[31m输入有误,必须输入数字或者正整数!\033[0m")

这个程序花了我较多时间,差不多一个晚上都在反复思考这个。

1、salary.isdigit()还不是太熟悉,这个方法的作用是检查用户输入的是否为数字,不过不知道为什么,输入浮点数也会报错。负数貌似也会报错。这里先囫囵吞枣一下。

2、对于多层嵌套循环还不熟悉,开始一直输出出现问题,主要原因就是嵌套格式不对。以后写程序之前要注意画一下流程图。

3、学习了颜色输出的用法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3 实现对图片进行局部切割的方法

python3 实现对图片进行局部切割的方法

先拿个图片举例子,比如说截取途中方框内的图片: # 导入相关的库 from PIL import Image # 打开一张图 img = Image.open('test.jpg'...

基于Python 的进程管理工具supervisor使用指南

基于Python 的进程管理工具supervisor使用指南

Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上。Supervisor 官方版目前只能运行在 P...

Python基本类型的连接组合和互相转换方式(13种)

Python基本类型的连接组合和互相转换方式(13种)

本篇总结了一下字符串,列表,字典,元组的连接组合使用和类型的互相转换小例子,尤其列表中的extend()方法和字典中的 update方法非常的常用。 1.连接两个字符串 a = "...

python 利用pandas将arff文件转csv文件的方法

直接贴代码啦: #coding=utf-8 import pandas as pd def arff_to_csv(fpath): #读取arff数据 if fpath.f...

PyQt5下拉式复选框QComboCheckBox的实例

PyQt5下拉式复选框QComboCheckBox的实例

笔者在用PyQt5写GUI时碰到了需要使用下拉式复选框的情况,但是PyQt5中没有相应的组件,而网上找到的方法大多是qt使用的,所以不能直接拿来用。 没办法,在这种让人无奈的情况下,笔者...