设为首页 收藏本站
查看: 1310|回复: 0

[经验分享] 【10】Python无脑的购物车

[复制链接]

尚未签到

发表于 2018-8-10 09:27:54 | 显示全部楼层 |阅读模式
  程序名称:购物车
  需求:
  1.启动程序后,让用户输入工资,然后打印商品列表
  2.允许用户根据商品编号购买商品
  3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
  4.可随时退出,退出时,打印已购买商品和余额
  思路:

  •   先写商品信息
  •   用户输入工资
  •   打印商品
  •   根据编号购买
  •   判断余额
  •   随时可以退出购物
  流程图: (流程图不是很清晰的感觉)
DSC0000.png

  所需知识点:
  列表、字符类型定义、索引
  代码实现:
  #!/usr/bin/env python
  #Author:Li QW
  import colorsys
  product_list=[
  ('Iphone',7000),
  ('Watch',333),
  ('Water',10),
  ('coffer',54),
  ('Xiaomi',2490),
  ] #商品信息注:这里价格不要加上引号,否则在判断工资的时候会报字符类型不匹配错误。
  shopping_list=[] #购物车
  
  salary=input('Please,you salary:') #输入工资
  if salary.isdigit(): #返回整数为真
  salary = int(salary) #修改类型
  while True: #进入循环,打印商品列表
  for index,item in enumerate(product_list): #给商品添加索引
  print(index,item) #打印商品
  user_choice=input('Please,shopping:')  #购买商品,输入序号
  if user_choice.isdigit():
  user_choice=int(user_choice)
  if  0<= user_choice < len(product_list):
  p_item=product_list[user_choice]
  if p_item[1] <= salary: #判断工资是否够买
  shopping_list.append(p_item) #添加到购物车
  salary -=p_item[1] #剩余工资
  print("您已购买%s,还剩\033[31;1m%s\033[0m" %(p_item,salary))
  else:
  print("还剩%s,您的余额不足\033[31;1m%s\033[0m" %(p_item,salary))
  else:
  print('商品不存在')
  elif user_choice=='q': #输入q退出购物
  print('----shopping list-----')
  for p in shopping_list: #打印购物车
  print(p)
  print('Your current balance:',salary) #提示余额
  exit()
  else: #无效字符
  print('invalid option')
  运行结果:
  Please,you salary:4444
  0 ('Iphone', 7000)
  1 ('Watch', 333)
  2 ('Water', 10)
  3 ('coffer', 54)
  4 ('Xiaomi', 2490)
  Please,shopping:4
  您已购买('Xiaomi', 2490),还剩1954
  0 ('Iphone', 7000)
  1 ('Watch', 333)
  2 ('Water', 10)
  3 ('coffer', 54)
  4 ('Xiaomi', 2490)
  Please,shopping:4
  还剩('Xiaomi', 2490),您的余额不足1954
  0 ('Iphone', 7000)
  1 ('Watch', 333)
  2 ('Water', 10)
  3 ('coffer', 54)
  4 ('Xiaomi', 2490)
  Please,shopping:q
  ----shopping list-----
  ('Xiaomi', 2490)
  Your current balance: 1954
  Process finished with exit code 0

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-549494-1-1.html 上篇帖子: 使用Python发送邮件 下篇帖子: Python---sorted
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表