Python实现购物车购物小程序


Posted in Python onApril 18, 2018

概要

按理说,我们入门的第一个小程序都应该是Hello World。因为比较简单,我这也就不做过多的演示 了。
下面是我写的一个小程序。主要用于练习Python的基本语法,以及入门。

主要实现功能

  • 要求用户输入自己预期消费额度.
  • 展示现有商品信息,要求用户选择
  • 用户选择对应商品标号后(注意判断是否超出预期消费额度等操作),保存到购物车
  • 用户退出后显示购物车信息以及剩余额度情况

代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
@author: 烽火
@license: Apache Licence
@file: shopping.py
@time: 6/16/17 10:05 AM
"""

goods = [
  ("IPhone", 5800),
  ("Watch", 2000),
  ("MacBook", 12000)]

goods_cart = []

mybudget = input("请输入您的预算:")

# 不考虑是小数的情况
while not mybudget.isdigit():
  mybudget = input("输入有误,请重新输入您的预算:")
mybudget = int(mybudget);

while True:
  print("商品列表".center(50, "-"))
  print("编号".center(8, " "), "名称".ljust(30, " "), "价格".ljust(10, " "))
  for i in enumerate(goods):
    print(str(i[0]).center(10, " "), str(i[1][0]).ljust(31, " "), str(i[1][1]).ljust(10, " "))

  user_choose = input("请输入您的选择:")

  if user_choose.isdigit():
    user_choose = int(user_choose)
    if user_choose >= 0 and user_choose < len(goods):
      if (mybudget - goods[user_choose][1]) >= 0:
        goods_cart.append(goods[user_choose])
        mybudget -= goods[user_choose][1]
        print("预算还有%d" % mybudget)
      else:
        print("预算不够啦~")
    else:
      print("不存在该商品~")

  elif user_choose == 'q':
    break

  else:
    print("您的输入有误~")

print("预算还剩%d了" %(mybudget))
print("购物车商品信息".center(50, "-"))

for i in enumerate(goods_cart):
    print(str(i[0]).center(10, " "), str(i[1][0]).ljust(31, " "), str(i[1][1]).ljust(10, " "))

运行结果

Python实现购物车购物小程序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过C++学习Python
Jan 20 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
Python计算两个日期相差天数的方法示例
May 23 Python
python爬虫实例详解
Jun 19 Python
通过python顺序修改文件名字的方法
Jul 11 Python
Python闭包函数定义与用法分析
Jul 20 Python
django Serializer序列化使用方法详解
Oct 16 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 Python
如何在scrapy中集成selenium爬取网页的方法
Nov 18 Python
详谈python中冒号与逗号的区别
Apr 18 #Python
python logging日志模块以及多进程日志详解
Apr 18 #Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 #Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 #Python
浅谈numpy数组中冒号和负号的含义
Apr 18 #Python
对python numpy数组中冒号的使用方法详解
Apr 17 #Python
JavaScript实现一维数组转化为二维数组
Apr 17 #Python
You might like
无线电的诞生过程
2021/03/01 无线电
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
Javascript 解疑
2009/11/11 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
python实现连接mongodb的方法
2015/05/08 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
python实现输入数字的连续加减方法
2018/06/22 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
医学生个人求职信范文
2013/09/24 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS