上次的学习又没有坚持下来,工作忙的不可开交,但我反思了一下还是自己没有下定决心好好学习,所以这次为期3个月的学习计划开始了,下面是这次学习后重新编写的购物车初版代码。

 1 # 功能要求:
2 # 要求用户输入总资产,例如:2000
3 # 显示商品列表,让用户选择商品,加入购物车
4 # 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
5 # 附加:可充值、某商品移除购物车
6 goods = [
7 {"name": "电脑", "price": 1999},
8 {"name": "鼠标", "price": 10},
9 {"name": "游艇", "price": 20},
10 {"name": "美女", "price": 998},
11 ]
12 zongxiaofei = 0
13 gouwuche = {}
14 zongzichan = int(input("欢迎来到小小商店,请输入您的总资产:"))
15 print("您的总资产为:", zongzichan, "\n商品名称、价格如下:")
16 for shangpin_list in goods:
17 print(shangpin_list["name"], shangpin_list["price"])
18 print("\n")
19 while True:
20 goumai = input("请输入'商品名称'加入购物车或者输入'y'或'Y'去购物车进行结算:")
21 if goumai.lower() == "y":
22 break
23 for shangpin_list2 in goods:
24 if shangpin_list2["name"] == goumai:
25 if shangpin_list2["name"] not in gouwuche.keys():
26 gouwuche[shangpin_list2["name"]] = {"num": 1, "jiage": shangpin_list2["price"]}
27 else:
28 gouwuche[shangpin_list2["name"]]["num"] = gouwuche[shangpin_list2["name"]]["num"] + 1
29 for jiesuan_key , jiesuan_values in gouwuche.items():
30 jiesuan_num = jiesuan_values["num"]
31 jiesuan_jiage = jiesuan_values["jiage"]
32 xiaofei = jiesuan_num * jiesuan_jiage
33 zongxiaofei = zongxiaofei + xiaofei
34 while True:
35 if zongxiaofei > zongzichan:
36 print("购买失败!")
37 print("您的总资产为:", zongzichan, "您总消费金额:", zongxiaofei, "超出金额:", zongxiaofei - zongzichan)
38 chongzhi = input("请输入'y'or'Y'前往充值或输入'n'or'N'回到购物车删除多余商品:")
39 while True:
40 if chongzhi.lower() == "y":
41 chongzhi_money = int(input("请输入充值金额:"))
42 zongzichan = zongzichan + chongzhi_money
43 print("充值成功,您的总资产为:", zongzichan, "\n")
44 break
45 if chongzhi.lower() == "n":
46 print("\n您购物车内消费商品名称、商品数量、商品单价如下:")
47 for jiesuan_key2, jiesuan_values2 in gouwuche.items():
48 print(jiesuan_key2, jiesuan_values2["num"], jiesuan_values2["jiage"])
49 shanchu = input("\n请输入商品名称来减少商品数量1:")
50 for jiesuan_key3 , jiesuan_values3 in gouwuche.items():
51 if jiesuan_key3 == shanchu:
52 if jiesuan_key3 in gouwuche.keys():
53 zongxiaofei = zongxiaofei - gouwuche[jiesuan_key3]["jiage"]
54 break
55 else:
56 print("购买成功!")
57 print("您的总资产为:", zongzichan, "您总消费金额:", zongxiaofei, "结余金额:", zongzichan - zongxiaofei)
58 exit()

这个版本是带充值、删除购物车商品,最后结算金额。

后面我会学习简化代码,编写另一版实时判断余额的。

python编写购物车的更多相关文章

  1. python编写购物车新写法

    用另一种方式完成购物车的功能实现 #!/usr/bin/python zijin = input("请输入资金:") if zijin.isdigit(): zijin = int ...

  2. python编写购物车小程序

     #练习#程序购物车#启动程序后,让用户输入工资,  然后打印商品列表,允许用户根据商品编号购买商品用户选择商品后 #检测余额是否够,够就直接扣款,不够就提醒可随时退出,退出时,打印已购买商品和余额  ...

  3. python编写购物车-实时购买

    本次编写的是实时购买(输入商品直接进行购买),余额不足可以进行充值或结束购物 1 goods = [ 2 {"name": "电脑", "price& ...

  4. python之编写购物车(第二天)

    作业: 编写购物车 具体实现了如下功能: 1.可购买的商品信息显示 2.显示购物车内的商品信息.数量.总金额 3.购物车内的商品数量进行增加.减少和商品的删除 4.用户余额的充值 5.用户购买完成进行 ...

  5. 基于python编写的天气抓取程序

    以前一直使用中国天气网的天气预报组件都挺好,可是自从他们升级组件后数据加载变得非常不稳定,因为JS的阻塞常常导致网站打开速度很慢.为了解决这个问题决定现学现用python编写一个抓取程序,每天定时抓取 ...

  6. 用Python编写博客导出工具

    用Python编写博客导出工具 罗朝辉 (http://kesalin.github.io/) CC 许可,转载请注明出处   写在前面的话 我在 github 上用 octopress 搭建了个人博 ...

  7. 【转载】Python编写简易木马程序

    转载来自: http://drops.wooyun.org/papers/4751?utm_source=tuicool 使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马. 首先准备好 ...

  8. 用Python编写的第一个回测程序

    用Python编写的第一个回测程序 2016-08-06 def savfig(figureObj, fn_prefix1='backtest8', fn_prefix2='_1_'): import ...

  9. [译]Python编写虚拟解释器

    使用Python编写虚拟机解释器 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环 ...

随机推荐

  1. Geometric GAN

    目录 概 主要内容 McGAN 结合SVM 训练 训练 理论分析 证明 Jae Hyun Lim, Jong Chul Ye, Geometric GAN. 概 很有趣, GAN的训练过程可以分成 寻 ...

  2. java-git 暂存

    在接到需求以后,直接在master上开发了,到提交的时候才想起来忘记新建版本分支了,直接提交到master会影响到其他人. 这时候就想着将本地编辑的代码,没有提交的代码暂存起来,然后新建一个新分支,再 ...

  3. 解决Java保存到数据库中文乱码问题,加useUnicode=true&characterEncoding=UTF-8

    Java保存到数据库中文乱码, 解决方法如下: 我们在连接MySQL数据库的时候一般都会在url后面添加useUnicode=true&characterEncoding=UTF-8,但是问什 ...

  4. Java Web项目 慧心人力资源管理系统

    题目:慧心人力资源管理系统 文档下载:https://download.csdn.net/download/weixin_44893902/16336711 完整项目下载:https://downlo ...

  5. CSS基础 表框圆角的基本使用和案例

    属性:border-radius:数字+px: 用途:修饰盒子圆角 使用语法格式: 1. border-radius:20px : /* 四个叫同时以半径20px圆角*/ 2. border-radi ...

  6. CSS 表格基本使用 案例

    知识点普及: 表格是html中经常使用到的,简单的使用可能很多人都没问题,但是更深入的了解的人恐怕不多,下面我们先来看一下如何使用. <table>是<tr>的上层标签 < ...

  7. Jenkins_centos7安装jenkins(1)

    Jenkins自动化部署的流程 一.下载安装 下载安装JDK wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/j ...

  8. Django_环境配置(一)

    一.安装Django # 在CMD中运行 pip install django # 查看djangp版本 python manage.py version 二.创建项目 # 在CMD中运行django ...

  9. IDEA安装与配置

    一.安装 二.配置 配置字体:source pro code 忽略大小写提示 自动导包 多 tab显示 设置快捷键 设置鼠标悬浮提示 设置行号和方法分隔符 设置maven 断点调试 字符编码 自动删除 ...

  10. LINUX学习-Nginx实现https

    一.环境准备 1.安装nginx时,需要将--with-http_ssl_module 模块开启. 2.关闭selinux和防火墙 3.在 /usr/local/nginx/html/ 目录下添加bb ...