这几天,一直在学python,跟着视频老师做了一个比较简单的python购物车,感觉不错,分享一下

 products = [['Iphone8',6888],['MacPro',14800],['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799]]

 shopping_cart = []
#run_flag = True #标志位
exit_flag = False
while not exit_flag:
print("---------商品列表------------")
for index,p in enumerate(products):
print("%s, %s %s" %(index,p[0],p[1] )) choice = input("请输入你要买的商品编号:")
if choice.isdigit(): #判断是不是str类型
choice = int(choice)
if choice >= 0 and choice < len(products):
shopping_cart.append(products[choice])
print("Add product %s into shopping_cart." %(products[choice]))
else:
print("该商品的编号不存在")
elif choice == 'q':
if len(shopping_cart) >0:
print("-------你已经购买以下商品--------")
for index,p in enumerate(shopping_cart) :
print("%s, %s %s" % (index, p[0], p[1])) #break
#run_flag = False
exit_flag = True

第二个是我在上网找来的,不过改优化了一点点

   

 #!/usr/bin/env.python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
File Name: shopping
Description :
Author : lwh
date: 2019/2/28
------------------------------------------------- -------------------------------------------------
""" #定义一个商品的列表
product_list = [
('iphone',5000),
('coffee',31),
('bicyle',888),
('iwatch,2666'),
('Mac Pro',15000),
('book',88)] shopping_list = [] #空列表,存放购买的商 money = input("请输入你的工资:")
if money.isdigit(): # isdigit() 用来检#检测字符串是否只由数字组成,是则返回True,否则False
money = int(money) while True:
for index,i in enumerate(product_list): #index作为下标索引
# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
print(index,i[0],i[1]) #qi'qin
user_choice = input("请输入你要购买的商品: ")
if user_choice.isdigit() : #判断
user_choice = int(user_choice)
if user_choice < len(product_list) and user_choice >= 0:
product_choice = product_list[user_choice]
if product_choice[1] < money: #买得起
shopping_list.append(product_choice) # 买得起,就放入购物车
money -= product_choice[1]
print("添加 %s 到你的购物车了,你的余额为 : \033[31;1m%s\033[0m" % (product_choice, money))
else:
print("\033[41;1m你的余额只剩%s啦,不够买该商品,请重新选择!\033[0m" % money)
print("-----------购 物 车------------")
for s_index, s in enumerate(shopping_list):
print(s_index,s)
print("-----------商 品------------")
print("你的余额为:\033[31;1m%s\033[0m" % money)
else:
print("没有这个商品")
elif user_choice == "q" :
print("-------购 物 清 单---------")
for s_index,s in enumerate(shopping_list):
print(s_index,s)
print("-----------购 物 清 单------------")
print("你的余额为 : \033[31;lm%s\033[0m" % money)
exit()
else:
print("输入错误,没有这个商品,请重新输入: ")
else:
print("输入错误,请重新输入: ")

第二个购物车原码网站:https://www.cnblogs.com/cxylff/p/8468500.html

简单的python购物车的更多相关文章

  1. python实现简单的循环购物车小功能

    python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s&quo ...

  2. 完成一段简单的Python程序,使用函数实现用来判断输入数是偶数还是奇数

    #!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,使用函数实现用来判断偶数和奇数'''def number_deal(a): if a%2==0 ...

  3. 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能

    #!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...

  4. 简单的python http接口自动化脚本

    今天给大家分享一个简单的Python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和 ...

  5. 简单说明Python中的装饰器的用法

    简单说明Python中的装饰器的用法 这篇文章主要简单说明了Python中的装饰器的用法,装饰器在Python的进阶学习中非常重要,示例代码基于Python2.x,需要的朋友可以参考下   装饰器对与 ...

  6. 带你简单了解python协程和异步

    带你简单了解python的协程和异步 前言 对于学习异步的出发点,是写爬虫.从简单爬虫到学会了使用多线程爬虫之后,在翻看别人的博客文章时偶尔会看到异步这一说法.而对于异步的了解实在困扰了我好久好久,看 ...

  7. 一个简单的python爬虫程序

    python|网络爬虫 概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web ...

  8. python 购物车小程序

    python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...

  9. 【转】简单谈谈python的反射机制

    [转]简单谈谈python的反射机制 对编程语言比较熟悉的朋友,应该知道“反射”这个机制.Python作为一门动态语言,当然不会缺少这一重要功能.然而,在网络上却很少见到有详细或者深刻的剖析论文.下面 ...

随机推荐

  1. RESTful API 最佳实践----转载阮一峰

    文章地址http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

  2. python,Day1,基础1

    主要内容 1.python介绍 2.发展史 3.安装 4.hello world程序 5.变量 6.用户输入 7.模块 8.数据类型 9.数据运算 10.if...else语句 11.while循环 ...

  3. TTL集成门电路

    一.TTL集成门电路的结构1.总体结构 所谓TTL就是transistor transistor logic,就是说是由晶体管和晶体管之间构成电路. 2.    TTL集成门电路典型输入级形式 1)二 ...

  4. 清除Windows 10的文件夹浏览痕迹

    windows 10有一个功能就是在快速访问时显示“最近访问的文件”,“常用文件”.如果是一台共用电脑,这个功能会经常暴露自己的“行踪”. 可以在“文件夹选项”-“隐私”中去掉勾选,并点击“清除”来清 ...

  5. 《视觉SLAM十四讲课后作业》第二讲

    1.设线性⽅程 Ax = b,在 A 为⽅阵的前提下,请回答以下问题:1. 在什么条件下,x 有解且唯⼀? 非齐次线性方程在A的秩与[A|B]的秩相同时方程有解,当R(A)=R(A,B)=n时方程有唯 ...

  6. SSM项目思路整合NEW2

    上接于 https://www.cnblogs.com/shijinglu2018/p/10374541.html ...... 三)客户管理模块开发 说明:其实大致思路差不太多,都是首先根据前端页面 ...

  7. 题解 Luogu P3623 [APIO2008]免费道路

    [APIO2008]免费道路 题目描述 新亚(New Asia)王国有 N 个村庄,由 M 条道路连接.其中一些道路是鹅卵石路,而其它道路是水泥路.保持道路免费运行需要一大笔费用,并且看上去 王国不可 ...

  8. Mac上超好用的计时器和秒表

    秒表 https://joaomoreno.github.io/thyme/ 计时器 https://github.com/michaelvillar/timer-app 更新---这个更棒!有网页有 ...

  9. iOS SDWebImage知识点

    1.clear 和 clean clear 先把之前的缓存文件夹删除掉,然后新建一个文件夹 clean 先删除过期的文件,然后计算剩余缓存文件的大小 currentSize > maxSize, ...

  10. linux准备工具VMware以及ubuntu

    链接:https://pan.baidu.com/s/1j7DZCmzOcC2rPAciHtZgkA 密码:et5s