项目逻辑

导入员工账号

员工结构        user.txt结构

账号    密码  余额  月薪

导入 商品

商品结构   commodity.txt

id  名称 价位

初始化完成之后 开始接收输入   对比账号密码是否正确

然后加载商品   通过  id 或者名称选择购买

如果钱不够的话 退出购物 并计算出多少天。。。

实现源码

'''
作业内部小卖铺登陆账号   密码员工结构账号 密码  余额   月工资买东西选择 id  或者 名字有钱 扣费无钱  告诉多少天能买商品结构id 名称  价位'''#加载txt 然后保存 返回一个字典
def LoadFile(pathfilename):myFile = open(pathfilename)myDict = {}while True:user = myFile.readline()  # 获取一行if user =='' :breakmylist = user.split()  # 分割mylist[2] =int( mylist[2])myDict[mylist[0]]=mylist  # 添加进去myFile.close()return  myDict#登陆 成功返回list  失败 返回false
def Longin(dictUser):count = 3while count > 0:count -= 1;user = input("请输入用户名:")password = input("请输入密码:")userinfo = dictUser.get(user,False)if userinfo  !=  False :if userinfo[0]==user and userinfo[1] ==password:print("欢迎登陆,尊敬的内部会员",user,"您当前的余额是:",userinfo[2],)return  userinfoprint("账号密码错误!!")else:print("三次机会已经用尽....")return  False
#计算商品 返回修改的list
def CalcGoods(user, goods):flag =Falseif goods[2] <= user[2]:user[2] -= goods[2];print("成功购买:", goods[1], "扣除", goods[2], "账号余额:", user[2])if input("是否继续购买,需要请按1 否则请按任意键结束")=='1':flag =Trueelse:user[3] = int(user[3])  # 转换一下rem = (goods[2] - user[2]) % (user[3] / 30)  # 求一下余数if rem > 0:rem = 1print("钱不够,您还差", goods[2] - user[2], "元,您当前的月薪是", userInfo[3], "需要打工", int((goods[2] - user[2]) / (user[3] / 30) + rem), "天")return user,flag#保存 数据 没有返回值
def SaveFile(updateuser, pathfilename):data = ''f =open(pathfilename)for line in f.readlines():if line.find(updateuser[0])==0 and line.find(updateuser[1])==0:#查找相同的名称。。。和密码 跳过for a in updateuser:data+=str(a)+' 'data +='\n'else:data+=linef.close()#覆盖f=open(pathfilename,'w')f.writelines(data)f.close()# main
print("欢迎使用内部商店管理系统")
print("请登陆")
dictUser =LoadFile("user.txt") #加载账号
dictGoods = LoadFile("commodity.txt")#加载商品userInfo = Longin(dictUser)#登陆
if userInfo != False:print("选择需要购买的商品")for a in dictGoods.values():print(a)bFlag =Truewhile bFlag:key = input("请输入需要购买的商品的名称或者id:")listGoods = dictGoods.get(key, False)if listGoods != False:userInfo, bFlag =  CalcGoods(userInfo, listGoods)else:for a in dictGoods.values():if key== a[1]:userInfo, bFlag = CalcGoods(userInfo, a)#保存一下数据else:SaveFile(userInfo,"user.txt")

作业python 内部小卖铺相关推荐

  1. python array赋值_从踩坑学Python内部原理(5):执行时机的差异

    (给Python开发者加星标,提升Python技能) 英文:Satwik Kansal,翻译:暮晨 Python开发者整理自 GitHub [导读]:Python 是一个设计优美的解释型高级语言,它提 ...

  2. 字符串在Python内部是如何省内存的

    作者:@weapon 转自知乎:https://zhuanlan.zhihu.com/p/104844376 0. 前言 Python3 起,str 就采用了 Unicode 编码(注意这里并不是 u ...

  3. 查看python内部模块命令,内置函数,查看python已经安装的模块命令

    查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list 或者用 help('modules') 或者用 python -m ...

  4. delphi 字符串占用空间_字符串在Python内部是如何省内存的

    起步 Python3 起,str 就采用了 Unicode 编码(注意这里并不是 utf8 编码,尽管 .py 文件默认编码是 utf8 ). 每个标准 Unicode 字符占用 4 个字节.这对于内 ...

  5. 人工智能作业——python实现洗衣机模糊推理系统实验

    人工智能作业--python实现洗衣机模糊推理系统实验 实验环境 实验要求 代码 实验结果 书中实验要求用Matlab实现,但是Matlab包太大了,且还需要重新学习Matlab的使用.发现pytho ...

  6. OA办公系统,为企业内部管理“铺桥搭路”

    OA市场竞争激烈这是不争的事实,各厂商为了能够适应市场并且更好的服务客户,也为了打造出协同性较高的OA办公自动化系统,都开始探索高效协同办公的解决方案. 随着信息技术的迁移和变革,曾经在技术上存在的瓶 ...

  7. 云端有个小卖铺--读后感

    闲暇空余读了<云端有个小卖铺>这本书,受益颇丰~~ 然后写篇读后感给交个任务给我亲爱的老爸. 有朵盛开的云,缓缓的划过山顶,随风飘向天边/我,我们慢慢明白,有些告白,就是最后一面. 这本书 ...

  8. 【python小程序】蜜雪冰城小卖铺

    products =[ ["雪王大圣代",6],["荔枝啵啵",7],["草莓啵啵(升级版)",9],["冰鲜柠檬水", ...

  9. 红队作业 | Python实现免杀远控

    文章来源|MS08067 红队培训班 第4期 本文作者:学员A(红队培训班4期学员) 按老师要求尝试完成布置的作业如下: 要想实现简易远控,说的详细点就是反弹shell,首先要解决三个问题: 1.与服 ...

最新文章

  1. UML类图新手入门级介绍
  2. alert 返回页面 刷新_详解 HTML 页面原生的生命周期事件
  3. linux下安装apache tomcat,Linux CentOS 7下 Apache Tomcat 7 安装与配置
  4. TSS描述符表的作用
  5. Java中创建数组的几种方法
  6. 栈和队列之设计一个有getMin(得到最小值)功能的栈
  7. EnvironmentError: mysql_config not found
  8. VARCHAR和CHAR类型使用场景
  9. 对开发者有用的英文网站合集,建议收藏!
  10. 微服务升级_SpringCloud Alibaba工作笔记0025---Nacos持久化切换配置
  11. Make GNN Great Again: GNN 上的预训练和自监督学习
  12. java 多线程数据分发_多线程分发处理List集合数据
  13. html网页对账单样式,怎样在EXCEL中做工行对账单,样式字体要...
  14. 苹果计算机 win10,苹果windows10怎么安装_苹果电脑安装win10教程
  15. EasyRecovery注册码哪里有?
  16. 小米手机换图标后不变的解决办法
  17. 大数(10^9)求欧拉数
  18. 解决ECharts中使用tooltip时鼠标移入抖动问题
  19. 狗眼看人低的10个经典场景(组图)
  20. C语言实现把字节数转化成kb,C语言笔记

热门文章

  1. R语言使用rcauchy函数生成符合柯西分布的随机数、使用plot函数可视化符合柯西分布的随机数(Cauchy distribution)
  2. php数组竖转横,数组纵向转横向怎么实现
  3. 邓俊辉 数据结构 图
  4. FI MM CO T-CODE
  5. 木瓜移动荣获金茶奖2021年度游戏服务企业称号
  6. Java 8 stream 流获取 list 中最大值、最小值、总和值、平均值
  7. 0x01 前情提要随着疫情反复,今天我在家办公。我需要登一台服务器上配置,但是那个地址只能通过深信服vpn连接,在家办公一天就带了台kali系统的笔记本回来,没带windows的。 kali上
  8. 关于密码测评,你必须了解的10个基本问题
  9. 自学考试计算机实践课,河南大学自学考试计算机实践课考试须知
  10. arcpy投影(三)——定义投影、地理变换关系自定义和投影变换Project_managemen(含基准面/椭球体转换参数使用方法,arcpro/arcmap)