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 相关文章推荐
树莓派中python获取GY-85九轴模块信息示例
Dec 05 Python
python使用cookie库操保存cookie详解
Mar 03 Python
详解Python文本操作相关模块
Jun 22 Python
利用python批量修改word文件名的方法示例
Oct 17 Python
详解Django之auth模块(用户认证)
Apr 17 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
Python初学者常见错误详解
Jul 02 Python
Python实现12306火车票抢票系统
Jul 04 Python
Python内存映射文件读写方式
Apr 24 Python
Python 解析简单的XML数据
Jul 24 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 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
PHP 设计模式之观察者模式介绍
2012/02/22 PHP
PHP文件与目录操作示例
2016/12/24 PHP
php常用正则函数实例小结
2016/12/29 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
Node.js实现数据推送
2016/04/14 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
JS实现微信摇一摇原理解析
2017/07/22 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
js+css实现全屏侧边栏
2020/06/16 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
python解析xml文件实例分享
2013/12/04 Python
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
介绍一下grep命令的使用
2015/06/12 面试题
电大物流学生的自我评价
2013/10/25 职场文书
竞聘书模板
2014/03/31 职场文书
百日安全生产活动总结
2014/07/05 职场文书
党员先进事迹材料
2014/12/19 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python