#  -*-   coding: utf-8   -*-# @Time      : 2018/10/18 16:06# @Author    : Two Brother# @EMAIL     : yeluyide@163.com# @FILE      : shoppingcart.py# @SOFTWARE : PyCharm

##################title######################用户入口:#1.商品信息存在文件里###商家入口:#2.可以添加商品,修改商品价格############################################with open('use','r+',encoding='utf-8') as fu: dictfu = {} lines1 = fu.readlines()for line in lines1: (key,value) = line.strip().split() dictfu[key] = valuewith open('commodity', 'r+', encoding='utf-8') as fc: dictfc = {} lines2 = fc.readlines()for line in lines2: (key,value1,value2) = line.strip().split() dictfc[key] = {value1:value2}with open('admin','r') as fa: admin = fa.readlines()for i in range(0,len(admin)): admin[i] = admin[i].strip()i = input("请输入您的账号>>>>>>>>>>")if i in dictfu.keys(): lastmoney = int(dictfu[i])print('我是会员%s,我的余额%s' % (i,lastmoney))for n in dictfc:print(n,dictfc[n]) buy = [] salecost = 0 while True: ic = input("请输入您要购买的商品编号>>>>>>>")if ic in dictfc.keys():print("商品%s已经加入购物车,查看购物车请按S,直接支付请按P" % dictfc[ic]) buy.append(dictfc[ic])for x in dictfc[ic]: salecost = salecost + int(dictfc[ic][x])continue elif ic.upper() == 'S':print("您的购物车信息如下,总计%s元,直接支付请按P" % salecost)for y in buy:print(y)continue elif ic.upper() == 'P':if salecost <= lastmoney: lastmoney2 = lastmoney - salecostprint("您本次消费金额%s元,余额还剩余%s元!欢迎下次光临" % (salecost,lastmoney2))with open('use', 'w', encoding='utf-8') as fu2:for line in lines1:if i in line: line = line.replace(str(lastmoney),str(lastmoney2)) fu2.write(line)break else: pi = input("您本次购物需要花费金额%s元,余额只有%s元,交易失败,重新购物请按B,充值请按R,退出请按其他键>>>>"%(salecost,lastmoney))if pi.upper() == 'B':continue if pi.upper() == 'R':print("充值功能待开放")break else:break else:break

elif i in admin:while True: ai = input("请选择你要做的操作:A查看商品 B修改商品价格 C添加删除商品>>>>>")if ai.upper() == 'A':for o in dictfc:print(o,dictfc[o])continue elif ai.upper() == 'B': bi = input("请选择你要修改商品的商品编号>>>>")if bi in dictfc:print(dictfc[bi]) bi2 = input("请输入你要修改此商品的价格>>>>")with open('commodity','w',encoding='utf-8') as fc2:for line in lines2:if bi in line:for bi3 in dictfc[bi]: line = line.replace(dictfc[bi][bi3],bi2) fc2.write(line)with open('commodity', 'r', encoding='utf-8') as fc3: lines3 = fc3.readlines()for line in lines3: (key, value1, value2) = line.strip().split() dictfc[key] = {value1: value2}else:print("商品编码输入有误,请重新输入")continue else:print('程序退出')breakelse:print('用户不存在')

转载于:https://www.cnblogs.com/twobrother/p/9922660.html

python练习2 购物车程序相关推荐

  1. python写的购物车程序

    数据结构: goods = [ {"name": "电脑", "price": 1999}, {"name": &quo ...

  2. python购物车程序2019_Python实现购物车程序

    本文实例为大家分享了程序:Python购物车程序,具体内容如下 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就 ...

  3. python购物车程序2019_Python——购物车程序(列表的应用)

    购物车基本功能: 1.展示购物清单.价格信息. 2.由客户选择商品序号.加入购物车. 3.结束购物后,展示购物车中的商品信息,余额信息. 其他规则:所选商品价格超出当前余额时,提示钱不够: 直到客户输 ...

  4. Python自学----- while if 列表结合,购物车程序

    # -*- coding: UTF-8 -*- #!/usr/bin/env python#购物车程序salary = int(input('请输入的工资:')) #输入工资! y ='y' #定义退 ...

  5. python 购物车程序_购物车程序python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 第3点要求: 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒在循环外层 ...

  6. Day2 - Python基础2作业【购物车程序】

    1 #/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 # Day2/shopping_cart.py 4 5 _author_ = 'hepidong' 6 ...

  7. 【Python学习】程序练习《购物车程序》

    [Python学习]程序练习<购物车程序> 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可 ...

  8. 【python作业2回顾】——编写购物车程序、三级菜单程序

    第一部分:课堂小练习的思考总结 一.购物车程序 课程中要求所用时间:30分钟 实际自己所用时间:3个小时 这个练习所用时间严重超标,1.5小时用来做基本需求,1.5小时用来做优化了. 需求描述: 1. ...

  9. python购物车程序详解用字典_使用python操作文件实现购物车程序

    使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...

最新文章

  1. java获取注解的属性值_反射+自定义注解,实现获取注解标记的属性
  2. centos7安装mongodb3.4
  3. linux shell 提取txt文件到数组
  4. 2015.7.16(小高开忍住没有减仓,大盘涨3.5%,百股涨停——买进中重、中航,指导WXL错误)...
  5. 关于数据访问模式(三)—— Data Accessor模式
  6. Mysql雨松工具类使用
  7. 中石油训练赛 - 腿部挂件(可持久化字典树)
  8. 自定义报错返回_MybatisPlus基础篇学习笔记(五)------自定义sql及分页查询
  9. C++面试常见问题一
  10. leetcode —— 1282. 用户分组
  11. foss测试_FOSS的业务真的是社区软件吗?
  12. 三星官方回应“7nm EUV良率”:内容与事实完全不符
  13. Docker基本概念与实践(四)-部署简单web项目(tomcat+war+mysql)
  14. Bailian1835 POJ1835 宇航员【模拟】
  15. 打包外星人_《疯狂外星人》中外星人带上金箍就是大圣,放下金箍就是至尊宝!...
  16. Asp.net mvc 网站之速度优化 -- Memcache
  17. socket长连接server c语言,使用socket建立长连接
  18. 开发一个时间管理小程序
  19. 开启功放安桥TX-NR515的ARC(音频回传通道)功能
  20. BAT解密:互联网技术发展之路(1) - 技术发展的驱动力

热门文章

  1. C++编程语言之赋值运算符
  2. 我反对|李彦宏当选院士不合适:“名”不要再掺水了
  3. python序列类型举例说明_Python基础__Python序列基本类型及其操作(1)
  4. ios 静态方法是否能被重写_小米新系统亮相,比苹果iOS更干净,21款手机支持升级...
  5. linux monitor模式,ubuntu14.04 安装linux-802.11n csitool Monitor模式
  6. java同时执行同一个方法吗_java 返回结果的同时执行另一个方法
  7. linux下mvn的运行配置,Linux内网环境下使用Nexus配置Maven私有仓库
  8. mysql表只有frm文件_MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)
  9. 计算机体系结构:嵌入式方法_计科考研里的【计算机系统结构、计算机软件与理论、计算机应用技术】都是什么意思?...
  10. 035_Breadcrumb面包屑