整体思路:

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. PAT1002 写出这个数 (C++实现)

    PAT乙级考试题目 1002 写出这个数 (20 分) 题目要求: 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数  ...

  2. 手机端file限制只能选择图片、视频、音频,直接打开摄像头拍照或录像

    限制只能选择图片 <input type="file" accept="image/*"> 限制只能选择视频 <input type=&quo ...

  3. 扩展jQuery高亮网页中的文本选中

    <script type="text/javascript"> //1.扩展jQuery $.fn.selectRange = function (start, end ...

  4. struts2学习笔记(六)—— 拦截器

    一.拦截器概述 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前进行拦截,然后在之前或之后加入某些操作.拦截器是AOP的一种实现策略. 在We ...

  5. CMM模型,结构化开发方法和面向对象开发方法的比较,UML(统一建模语言),jackson开发方法

    CMM模型 一.CMM简介 CMM,英文全称为Capability Maturity Model for Software,即:软件成熟度模型. CMM的核心是把软件开发视为一个过程.它是对于软件在定 ...

  6. tornado 11 异步编程

    tornado 11 异步编程 一.同步与异步 同步 #含义:指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系 #现象:有一个共同的时钟,按来的顺序一个一个处理 #直观感受:需要等待,效率 ...

  7. HTML 5 桌面提醒

    <script> function showNotice(title,msg){ var Notification = window.Notification || window.mozN ...

  8. Windows 环境 ABP前端运行 ng test 无法执行

    Command: ng test Error Information: Schema validation failed with the following errors: Data path &q ...

  9. React应用程序设计过程中如何区分模块到底是state还是props?

    根据官方文档,满足以下任意条件的模块,就不是State,原文如下: 1.Is it passed in from a parent via props? If so, it probably isn’ ...

  10. Codeforces - 912B 位运算

    求[1,n]内k的值的异或和使其值最大 k=1是肯定是n k>1,设pos是n的最高位,那答案就是(1ll<<(pos+1))-1 这里用到一个性质是当S=2^i-1时,a xor ...