整体思路:

1.用户功能:购买、显示余额、列表清单、输入

2.商家功能:修改和添加商品

创建两个接口:

用户:

#Author: Gordon

#读取文档,生成goods
f = open('goods.txt',mode='r+',encoding='utf-8')
line = f.readline()
goods = eval(line)
user_goods ={}
print("商品:价格:",str(goods))
#输入工资,购买商品
salary = int(input("请输入你的工资: "))
while True:
wants = input("请输入你要购买的商品: ")
if wants in goods:
user_goods[wants] = 1
salary = salary - goods[wants]
print("你的余额还有: %d" % salary)
elif wants == 'q':
break
else:
print("对不起,我们没有这件商品") #显示已经购买信息和余额
print("你的购物车:",str(user_goods))
print("余额:%s"% salary)

商家:

#Author: Gordon

#step1:读取文件,将商品信息保存到goods字典里
f = open('goods.txt',mode='r+',encoding='utf-8')
lines = f.readline()
print(lines)
goods = eval(lines) print("商品数量为:%d" % len(goods))
print("商品为:" ,goods) #step2:询问店主是要上货,还是修改商品价格,执行相应操作 info = '''
#a:添加商品
#u:修改商品价格
#q:退出
'''
print(info) while True:
print("请问你是要添加商品或者修改商品:")
order = input("请输入命令:a or u: ")
if order == 'a':
add_goods_name = input("请输入要添加的商品名称:")
add_goods_prise = int(input("请输入添加商品的价格:"))
goods[add_goods_name] = add_goods_prise
print("添加成功")
elif order == 'u':
update_goods_name = input("请输入要修改的商品名称:")
if update_goods_name in goods :
update_goods_prise = input("请输入商品新的价格:")
goods[update_goods_name] = update_goods_prise
print("更新成功")
else:
print("对不起,你没有这件商品!")
elif order == 'q':
break
else:
print("命令错误!") #保存进文件里 goods = str(goods)
f.seek(0,0)
f.write(goods)
f.close()
最后商城接口:
#Author: Gordon

rule = input("请输入你的角色:")
if rule == 's':
import shop
shop
elif rule == 'c':
import costomers
costomers
else:
pass

使用python简单创建一个用户和商城小程序的更多相关文章

  1. MySQL创建一个用户,指定一个数据库 授权

    Mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...

  2. 转:mysql 创建一个用户,指定一个数据库

    转自:http://blog.sina.com.cn/s/blog_8c2525390101h0dv.html mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 h ...

  3. 简单创建一个SpringCloud2021.0.3项目(四)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...

  4. 简单创建一个SpringCloud2021.0.3项目(三)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上俩篇教程 3. Gateway集成sentinel,网关层做熔断降级 1. 超时熔断降级 2. 异常熔断 3. 集成sentine ...

  5. 简单创建一个SpringCloud2021.0.3项目(二)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...

  6. 简单创建一个SpringCloud2021.0.3项目(一)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 新建父模块和注册中心 1. 新建父模块 2. 新建注册中心Eureka 3. 新建配置中心Config 4. 新建两个业务服务 1. ...

  7. mysql 创建一个用户,指定一个数据库

    mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -p password use mysql; insert into use ...

  8. Confluence 6 创建一个用户宏

    如果你想创建自定义的宏的话,用户宏能够帮你完成这个任务.这个可以在你系统中应用特定的操作,比如说应用自定义格式等. 用户用是在 Confluence 创建和和管理的,你需要有一定的编码基础才可以. 你 ...

  9. new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。

    new运算符 - JavaScript | MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operator ...

随机推荐

  1. 使用IIS服务器部署网页,需要开启服务里的“ASP.NET 状态服务”

    否则会提示“请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同.如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHI ...

  2. 解决vs code中golang插件依赖安装失败问题

    解决vs code中golang插件依赖安装失败问题 Installing github.com/nsf/gocode SUCCEEDED Installing github.com/uudashr/ ...

  3. Eclipse 使用TFS

    Install Soft , –> add http://dl.microsoft.com/eclipse/tfs   form:http://msdn.microsoft.com/en-us/ ...

  4. 7、C++枚举类型

    7.枚举类型 C++的enum工具提供了另一种创建符号常量的方式,这种方式可以代替const.它还允许定义新类型,但必须按严格的限制进行.使用enum的语法与使用结构的相似. enum spectru ...

  5. 洛谷 P2234 [HNOI2002]营业额统计

    题目描述 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是 ...

  6. Preferences偏好设置

    Preferences偏好设置-Preferences偏好设置 General(综合设置):在综合设置界面内,对Unity集成开发环境进行一些相关的设置 Auto Refresh:自动更新 Alway ...

  7. 理解Javascript_02_执行上下文01

    执行上下文又名执行上下文环境 JS中为什么会产生这个概念呢,先来看一下下面的这段代码: 通过执行发现,第一句代码报了ReferenceError,第二句和第三句代码是undefined,由于undef ...

  8. ST第一章基础概念

    1.1程序由程序.数据.文档 测试对象 软件测试目的:发现尽可能多的软件缺陷,并期望通过改错把缺陷统统排除,提高软件质量 1.2 ST分类 1.2.1 方式分类 (1)静态测试 :不执行被测对象程序代 ...

  9. php 对象方式传入参数

    类是单例模式,对象方式传入参数,如果参数过多是,使用形参容易混乱 class Object { /** * 基本配置信息 * @var array */ private $config = array ...

  10. [BZOJ 5415] 归程

    一棵KrusKal重构树,然而我数组开小了,忘记清空一个标记 洛谷传送门 BZOJ传送门 ......好像成权限题了Orz 回顾我们用KrusKal做生成树的时候,我们将边排序后连通各个连通块,那么边 ...