简单的python购物车
这几天,一直在学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购物车的更多相关文章
- python实现简单的循环购物车小功能
python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s&quo ...
- 完成一段简单的Python程序,使用函数实现用来判断输入数是偶数还是奇数
#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,使用函数实现用来判断偶数和奇数'''def number_deal(a): if a%2==0 ...
- 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能
#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...
- 简单的python http接口自动化脚本
今天给大家分享一个简单的Python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和 ...
- 简单说明Python中的装饰器的用法
简单说明Python中的装饰器的用法 这篇文章主要简单说明了Python中的装饰器的用法,装饰器在Python的进阶学习中非常重要,示例代码基于Python2.x,需要的朋友可以参考下 装饰器对与 ...
- 带你简单了解python协程和异步
带你简单了解python的协程和异步 前言 对于学习异步的出发点,是写爬虫.从简单爬虫到学会了使用多线程爬虫之后,在翻看别人的博客文章时偶尔会看到异步这一说法.而对于异步的了解实在困扰了我好久好久,看 ...
- 一个简单的python爬虫程序
python|网络爬虫 概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web ...
- python 购物车小程序
python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...
- 【转】简单谈谈python的反射机制
[转]简单谈谈python的反射机制 对编程语言比较熟悉的朋友,应该知道“反射”这个机制.Python作为一门动态语言,当然不会缺少这一重要功能.然而,在网络上却很少见到有详细或者深刻的剖析论文.下面 ...
随机推荐
- Django框架详细介绍---请求流程
Django请求流程图 1.客户端发送请求 2.wsgiref是Django封装的套接字,它将客户端发送过来的请求(请求头.请求体封装成request) 1)解析请求数据 2)封装响应数据 3.中间件 ...
- react-native 导入高德地图
高德官网 : https://lbs.amap.com/ GitHub地址: https://github.com/qiuxiang/react-native-amap3d 安装的时候遇到错误:一般是 ...
- 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...
- postgresql 自定义聚合函数
方法1 CREATE OR REPLACE FUNCTION public.sfun_test1( results numeric[], val numeric) RETURNS numeric[] ...
- 解决 flannel.1 interface state DOWN
ip a 查看结果 flannel.1 i state UNKNOWN 并且五 inet 发现日志 device (flannel.1): state change: unmanaged -> ...
- 6.JAVA基础复习——JAVA中文档注释与帮助文档的生成
java中的文档注释:用于说明该类的功能作用方便他人使用关键词前需要加@符 用于类的注释 @author name 作者 @version v1.0 版本 …… 用于函数的注释 @param para ...
- zabbix3.4实现sendEmail邮件报警
一.安装软件 wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz 创建目录 mkdir /us ...
- kubernetes版本融合解决方案
kubernetes版本融合背景 在kubernetes 1.6版本的基础上进行了深度的定制.而且该版本已经相当稳定.但是随着kubernetes版本迭代,后期使用的如service mesh/kub ...
- SAP abap 语句、命令 语法查询备用
语句:碰到一个写一个 COLLECT语句用法 用于报表数据的合并计算,如果非数据字段值相等,那么数值字段值相加 内表可以不用排序 LOOP AT gtd_test into gth_test. COL ...
- Manjaro 安装svn客户端,以及checkout使用命令
安装svn sudo pacman -S svn checkout操作指令 svn co http://xxxxxxx /home/xx update 更新版本 svn up [文件/目录] 直接使用 ...