热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用python编写购物程序(2)的实现步骤和代码示例

本文介绍了使用Python编写购物程序的实现步骤和代码示例。程序启动后,用户需要输入工资,并打印商品列表。用户可以根据商品编号选择购买商品,程序会检测余额是否充足,如果充足则直接扣款,否则提醒用户。用户可以随时退出程序,在退出时打印已购买商品的数量和余额。附带了完整的代码示例。

要求:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否充足,够就直接扣款,不够就提醒
  4. 可随时推出,退出时打印以购买商品,购买商品数量及余额

代码:

1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 # Author:James Tao
4
5 list_of_goods=[
6 ['iphone',5800],
7 ['Mac Pro',12000],
8 ['Bike',800],
9 ['Watch',2000],
10 ['Coffee',31],
11 ['Book',120]
12 ]
13 list_of_bought=[]
14 dict_of_bought={}
15 salary=input('请输入您的工资:')
16 if salary.isdigit():#判断是否是整数
17 salary=int(salary)
18 while True:
19
20 #输出商品及其编号
21 for index,item in enumerate(list_of_goods):#enumerate取出下标
22 print(index,item)
23 #print(list_of_goods.index(item),item)
24 choice_of_user=input('选择购买商品编号:')
25
26 #判断输入是否合法
27 if choice_of_user.isdigit():
28 choice_of_user=int(choice_of_user)
29
30 #判断编号是否有对应商品
31 if 0<&#61;choice_of_user<len(list_of_goods):
32
33 #判断余额是否足够买此商品
34 if list_of_goods[choice_of_user][1]<&#61;salary:
35
36 #加入购物清单
37 list_of_bought.append(list_of_goods[choice_of_user][0])
38
39 #计算余额&#96;
40 salary-&#61;list_of_goods[choice_of_user][1]
41
42 print(&#39;&#39;&#39;添加{boughtgood}到您的购物车,此刻您的余额为{balance}.
43 &#39;&#39;&#39;.format(boughtgood&#61;list_of_goods[choice_of_user][0],balance&#61;salary))
44 else:
45 print(&#39;您的余额不足,此实余额为%s,不够购买此商品&#39;,salary)
46 else:
47 print(&#39;商品不存在&#39;)
48
49 elif choice_of_user&#61;&#61;&#39;q&#39;:
50
51 #统计购买的商品及数量
52 category_of_bought&#61;set(list_of_bought)
53 for item in category_of_bought:
54 dict_of_bought[item]&#61;list_of_bought.count(item)
55 print(&#39;您购买的商品及数量分别为&#39;,dict_of_bought)
56
57 print(&#39;您的余额为:&#39;,salary)
58 exit()
59 else:
60 print(&#39;输入不合法&#39;)
61 else:
62 print(&#39;输入不合法&#39;)

 

转:https://www.cnblogs.com/BIT-taozhen/p/9735865.html



推荐阅读
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 本文档提供了在Windows 10操作系统中安装Python 3及Scrapy框架的完整指南,包括必要的依赖库如wheel、lxml、pyOpenSSL、Twisted和pywin32的安装方法。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 本文介绍了一种在 Android 开发中动态修改 strings.xml 文件中字符串值的有效方法。通过使用占位符,开发者可以在运行时根据需要填充具体的值,从而提高应用的灵活性和可维护性。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • 在学习了Splay树的基本查找功能后,可能会觉得它与普通的二叉查找树没有太大的区别,仅仅是通过splay操作减少了时间开销。然而,Splay树之所以被誉为“序列之王”,主要在于其强大的区间操作能力。 ... [详细]
  • 本文总结了 #define 在 C/C++ 编程中的多种用途和技巧,包括定义常量、函数、宏以及条件编译等,并提供了详细的示例和注意事项。 ... [详细]
  • 如何寻找程序员的兼职机会
    随着远程工作的兴起,越来越多的程序员开始寻找灵活的兼职工作机会。本文将介绍几个适合程序员、设计师、翻译等专业人士的在线平台,帮助他们找到合适的兼职项目。 ... [详细]
author-avatar
裴潇艳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有