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实现单词拼写检查
Apr 25 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
Python中标准库OS的常用方法总结大全
Jul 19 Python
浅析python参数的知识点
Dec 10 Python
python命名空间(namespace)简单介绍
Aug 10 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
Dec 04 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
Python趣味挑战之实现简易版音乐播放器
May 28 Python
Python答题卡识别并给出分数的实现代码
Jun 22 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中__get()和__set()的用法实例详解
2013/06/04 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
angular分页指令操作
2017/01/09 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
vue的diff算法知识点总结
2018/03/29 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
python语音识别实践之百度语音API
2018/08/30 Python
python修改字典键(key)的方法
2019/08/05 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
使用Python pip怎么升级pip
2020/08/11 Python
python 带时区的日期格式化操作
2020/10/23 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
彩色的非洲教学反思
2014/02/18 职场文书
融资合作协议书范本
2014/10/17 职场文书
2015年中学校长工作总结
2015/05/19 职场文书