进击のpython

*****

1,用户先给自己的账户充钱:比如先充3000元。

2,有如下的一个格式:

  1. goods = [{"name": "电脑", "price": 1999},
  2. {"name": "鼠标", "price": 10},
  3. {"name": "游艇", "price": 20},
  4. {"name": "美女", "price": 998},]

3,页面显示 序号 + 商品名称 + 商品价格,如:

1 电脑 1999

2 鼠标 10

4,用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车(自己定义购物车),用户还可继续添加商品。

5,如果用户输入的商品序号有误,则提示输入有误,并重新输入。

6,用户输入N为购物车结算,依次显示用户购物车里面的商品,数量及单价,若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。

7,用户输入Q或者q退出程序。

8,退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少,并将购买信息显示。


麻烦算法:

  1. goods = [{"name": "电脑", "price": 1999},
  2. {"name": "鼠标", "price": 10},
  3. {"name": "游艇", "price": 20},
  4. {"name": "美女", "price": 998}, ]
  5. shop_car = {}
  6. while 1:
  7. try:
  8. m = int(input("请输入充钱金额>>>"))
  9. count = 0
  10. for i in goods:
  11. count += 1
  12. print(count, i["name"], i["price"])
  13. while 1:
  14. cho_goods = input("买点东西啊小老弟>>>")
  15. try:
  16. cho_goods = int(cho_goods)
  17. a = (goods[cho_goods - 1]["name"], goods[cho_goods - 1]["price"])
  18. if a in shop_car:
  19. shop_car[a] += 1
  20. else:
  21. shop_car[a] = 1
  22. except ValueError:
  23. if cho_goods.upper() == "N":
  24. while 1:
  25. pay_money = 0
  26. for i in range(len(shop_car)):
  27. name = list(shop_car.keys())[i][0]
  28. price = list(shop_car.keys())[i][1]
  29. twice = list(shop_car.values())[i]
  30. pay_money += price * twice
  31. print(f'商品名称:{name} 商品单价:{price} 购买数量:{twice}')
  32. if pay_money > m:
  33. msg = input("超额了熬!!删点什么吧")
  34. shop_car1 = shop_car.copy()
  35. for k in shop_car1:
  36. if msg == k[0]:
  37. shop_car[k] -= 1
  38. if shop_car[k] == 0:
  39. del shop_car[k]
  40. else:
  41. pay_money = 0
  42. print("—————————购买成功—————————")
  43. for i in range(len(shop_car)):
  44. name = list(shop_car.keys())[i][0]
  45. price = list(shop_car.keys())[i][1]
  46. twice = list(shop_car.values())[i]
  47. pay_money += price * twice
  48. print(f'商品名称:{name} 商品单价:{price} 购买数量:{twice}')
  49. print(f"总共花费:{pay_money}")
  50. print(f"钱包余额:{m-pay_money}")
  51. print("————————欢迎下次光临————————")
  52. exit()
  53. elif cho_goods.upper() == "Q":
  54. print("欢迎下次光临!")
  55. exit()
  56. else:
  57. print("请重新输入!")
  58. except IndexError:
  59. print("请重新输入")
  60. except ValueError:
  61. print("你这钱也不是个正经钱啊!")

简单算法:

  1. goods = [{"name": "电脑", "price": 1999},
  2. {"name": "鼠标", "price": 10},
  3. {"name": "游艇", "price": 20},
  4. {"name": "美女", "price": 998}, ]
  5. while 1:
  6. money = input("充点钱啊!老铁!(按Q退出)")
  7. try:
  8. money = int(money)
  9. name, price, twice = [], [], []
  10. for i in range(len(goods)):
  11. print(i + 1, goods[i]["name"], goods[i]["price"])
  12. name.append(goods[i]["name"])
  13. price.append(goods[i]["price"])
  14. twice.append(0)
  15. while 1:
  16. num = input("请输入你要购买的东西:")
  17. try:
  18. num = int(num)
  19. twice[num - 1] += 1
  20. print("以将{}加入购物车,单价为:{}".format(name[num - 1], price[num - 1]))
  21. except ValueError:
  22. if num.upper() == "N":
  23. while 1:
  24. pay = 0
  25. for i in range(len(goods)):
  26. if twice[i] <= 0:
  27. pass
  28. else:
  29. print(name[i], price[i], twice[i])
  30. pay += price[i] * twice[i]
  31. if pay > money:
  32. msg = input("超额了熬!!删点什么吧")
  33. if msg.upper() == "Q":
  34. print("欢迎下次光临!")
  35. exit()
  36. if msg in name:
  37. twice[name.index(msg)] -= 1
  38. else:
  39. print("—————————购买成功—————————")
  40. for i in range(len(goods)):
  41. if twice[i] == 0:
  42. pass
  43. else:
  44. print(f'商品名称:{name[i]} 商品单价:{price[i]} 购买数量:{twice[i]}')
  45. print(f"总共花费:{pay}")
  46. print(f"钱包余额:{money-pay}")
  47. print("————————欢迎下次光临————————")
  48. exit()
  49. elif num.upper() == "Q":
  50. print("欢迎下次光临!")
  51. exit()
  52. else:
  53. print("请重新输入!")
  54. except IndexError:
  55. print("请重新输入")
  56. except ValueError:
  57. if money.upper() == "Q":
  58. print("欢迎下次光临!")
  59. exit()
  60. else:
  61. print("你这钱也不是个正经钱啊!")

*学会了吗*
*凑弟弟*

~~小练习:python的简易购物车~~的更多相关文章

  1. [ Python -1 ] 简易购物车程序

    练习: 1. 要求用户输入总资产,例如:2000 2. 显示商品列表,让用户根据序号选择商品,加入购物车 3. 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功. goods = [{' ...

  2. Python编写简易木马程序(转载乌云)

    Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...

  3. python练习_购物车(简版)

    python练习_购物车(简版) 需求: 写一个python购物车可以输入用户初始化金额 可以打印商品,且用户输入编号,即可购买商品 购物时计算用户余额,是否可以购买物品 退出结算时打印购物小票 以下 ...

  4. 小甲鱼python基础教程飞机大战源码及素材

    百度了半天小甲鱼python飞机大战的源码和素材,搜出一堆不知道是什么玩意儿的玩意儿. 最终还是自己对着视频一行行代码敲出来. 需要的同学点下面的链接自取. 下载

  5. Session机制二(简易购物车案例)

    一:案例一(简易购物车) 1.目录结构 2.step1.jsp <%@ page language="java" contentType="text/html; c ...

  6. python搭建简易服务器实例参考

    有关python搭建简易服务器的方法. 需求分析: 省油宝用户数 已经破了6000,原有的静态报表 已经变得臃肿不堪, 每次打开都要缓上半天,甚至浏览器直接挂掉 采用python搭建一个最最简易的 w ...

  7. 微信小程序入门学习-- 简易Demo:计算器

    简单学习下微信小程序 官网 简易教程 · 小程序 https://mp.weixin.qq.com/debug/wxadoc/dev/ 需要通过开发者工具,来完成小程序创建和代码编辑. 下载安装,运行 ...

  8. (转)Python作业day2购物车

    Python作业day2购物车 原文:https://www.cnblogs.com/spykids/p/5163108.html 流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现) ...

  9. javaweb练手项目jsp+servlet简易购物车系统

    简易购物车项目 这是一个用intellij IDEA做的简易的javaweb项目,开发环境使用的jdk1.8和tomcat8以及mysql数据库. 1.项目开发准备: 创建github仓库 项目框架搭 ...

随机推荐

  1. 高手问答精选:Go 语言 —— 云计算时代的 C 语言(类似于一个FAQ)

    Go 语言被称为云计算时代的 C 语言,它在软件开发效率和运行效率之间做出了绝佳的权衡.这使得它既适应于互联网应用的极速开发,又能在高并发.高性能的开发场景中如鱼得水.正因如此,许多互联网公司,尤其是 ...

  2. 数据库的事务日志已满,起因为"LOG_BACKUP"。

    问题描述: 数据库的事务日志已满,起因为"LOG_BACKUP". 问题截图: 解决方法: 1).选择数据库–属性—选项—恢复模式–选择简单.2).收缩数据库后,再调回完整. US ...

  3. LIBCMTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用

    这个问题是没找到程序入口 在网上查这个问题,一般都是说两条: (若是win32程序) 一是在项目属性\CC++\预处理器\预处理器定义\里添加 _WINDOWS 一是在项目属性\链接\系统 里选择 窗 ...

  4. Excel的Range对象(C#)

    原文:Excel的Range对象(C#) Range 对象是 Excel 应用程序中最经常使用的对象:在操作 Excel 内的任何区域之前,都需要将其表示为一个 Range 对象,然后使用该 Rang ...

  5. PING[ARC2]: Heartbeat failed to connect to standby 'gqtzdb_dg'. Error is 16047

    Data Guard搭建完毕之后,执行开启归档路径2,结果发现不同步, SQL> alter system set log_archive_dest_state_2=enable; 查看错误日志 ...

  6. CLSRSC-400: A system reboot is required to continue installing.

    I try to install oracle database 12c RAC on the RedHat 7.3,when I execute the script '/u01/app/12.2. ...

  7. mysql 的用户权限

    查看MySQL的用户权限 show grants for "username"@'host'; 添加新用户 允许本地IP访问localhost:127.0.0.1 use mysq ...

  8. Delphi 编写DLL动态链接库文件的知识和样例(有详细步骤,很清楚)

    一.DLL动态链接库文件的知识简介: Windows的发展要求允许同时运行的几个程序共享一组函数的单一拷贝.动态链接库就是在这种情况下出现的.动态链接库不用重复编译或链接,一旦装入内存,Dlls函数可 ...

  9. 【码云周刊第 23 期】Web 高效开发必备的 PHP 框架(从这里学起)good

    码云项目推荐 1.项目名称:多功能 THinkPHP 开源框架 项目简介:使用 THinkPHP 开发项目的过程中把一些常用的功能或者第三方 sdk 整合好,开源供亲们参考,如 Auth 权限管理.支 ...

  10. Office Add-in Model 简介

    原文地址:http://simpeng.net/office-add-in/office-add-in-model-%e7%ae%80%e4%bb%8b/ , 为了本博客内容的完整性,转载至此. Of ...