python作业/练习/实战:3、实现商品管理的一个程序
作业要求
实现一个商品管理的一个程序,
运行程序有三个选项,输入1添加商品;输入2删除商品;输入3 查看商品信息
1、添加商品:
商品名称:xx 商品如果已经存在,提示商品已存在
商品价格:xx数量只能为大于0的整数
商品数量:xx,数量只能是大于0的整数
2、删除商品:
输入商品名称 ,就把商品删掉
输入输入的商品名称不存在,要提示不存在
3、查看所有的商品
输入商品名称,查出对应价格、数量
输入all 打印出所有的商品信息
输入的商品不存在提示商品不存在
提示
def函数、文件操作、json与字典的转换
相关教程
python学习笔记(五):python中json与字典格式转换
代码范例
# 定义一个变量,最好用大写字母,表示它是一个常量,不会改变
product_file = 'product_file.json'
import json # 定义一个公共函数,获取文件内容并转换成字典,共后面三个调用
def read_goods(): with open(product_file,encoding='utf-8') as f:#读取文件 contend=f.read()#读取文件 if len(contend)>0:#判断文件不为空
# if contend:#这两种写法都可以,因为非空即真 rf=json.loads(contend) # json转化成字典 else:
rf= {} # 否则返回一个空字典,说明文件里没东西 return rf # 增加和删除都是写文件,定义一个函数,供他们俩使用
def write_file_comtent(dic):
with open (product_file,'w',encoding='utf-8') as f :
json.dump(dic,f,indent=4,ensure_ascii=False)#空四格,中文要显示 #判断是否为int类型和是否>0,供增加商品使用
def check_digit(st:str): #告诉他传过来的是str类型
if st.isdigit():# 判断是否为整数
st=int(st)
if st>0:# 再判断是否大于0
return st
else:
return 0
else:
return 0 # 增加商品
def add_good():
good=input('请输入商品名称:').strip()
count=input('请输入商品数量:').strip()
price=input('请输入商品价格:').strip() all=read_goods() #获取全部内容
if good=='':
print('商品名称不能为空')
elif good in all:
print('商品已经存在') elif check_digit(count)==0:
print('商品数量为大于0的整数')
elif check_digit(price)==0:
print('商品价格为大于0的整数') else:
all[good]={'price':int(price),'count':int(count)}#将商品加入到字典中,添加一个key和他的值
write_file_comtent(all) # 调用函数,写入文件中 # 查看商品
def show_good():
s_good=input('请输入要查看的商品名称').strip()
all=read_goods() if s_good=='all':
print(all)
elif s_good not in all:
print('商品不存在') else:
print(all.get(s_good)) # 删除商品
def del_good():
d_good=input('请输入要删除的商品名称:').strip() if d_good in all:
all.pop(d_good)
print('已将商品 %s 成功删除'%d_good)
write_file_comtent(all) # 调用函数,将字典写入文件中 choice=input('请选择您的操作:\n1、添加商品\n2、删除商品\n3、查看商品')
if choice=='':
add_good()
elif choice=='':
del_good()
elif choice=='':
show_good()
else:
print('输入有误')
python作业/练习/实战:3、实现商品管理的一个程序的更多相关文章
- python作业/练习/实战:2、注册、登录(文件读写操作)
作业要求 1.实现注册功能输入:username.passowrd,cpassowrd最多可以输错3次3个都不能为空用户名长度最少6位, 最长20位,用户名不能重复密码长度最少8位,最长15位两次输入 ...
- python作业/练习/实战:1、简单登录脚本
作业要求 写一个登陆的小程序 username = xiaoming passwd = 123456 1.输入账号密码,输入正确就登陆成功, 提示:欢迎xxxx登陆,今天的日期是xxx. 2.输入错误 ...
- python作业/练习/实战:生成双色球小程序
作业要求: 每注投注号码由6个红色球号码和1个蓝色球号码组成.红色球号码从1--33中选择:蓝色球号码从1--16中选择 代码范例 import random all_red_ball = [str( ...
- python作业/练习/实战:生成随机密码
作业要求1.写一个函数,函数的功能是生成一批密码,存到文件里面 def gen_password(num): #num代表生成多少条密码2.密码复杂度要求 1)长度在,8-16位之间 2)密码必须包括 ...
- python作业/练习/实战:下载QQ群所有人的头像
步骤与提示:1.在腾讯群网页中进入任意一个群,获取相关信息,可以用postman是试一下,可以看到我们要的是mems里面的数据,需要获取到QQ号和群名片,如果没有群名片的话取昵称2.根据QQ号下载头像 ...
- python logging模块“另一个程序正在使用此文件,进程无法访问。”问题解决办法
在多进程下使用python的logging模块,经常会遇到"另一个程序正在使用此文件,进程无法访问."的错误. 解决办法: https://github.com/Preston-L ...
- python作业ATM(第五周)
作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...
- oldboy s21day12.设计商城系统,主要提供两个功能:商品管理、会员管理。
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.写出三元运算的基本格式及作用?'''a if a>b else b''' # 2.什么是匿名函数? ...
- Python作业-选课系统
目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...
随机推荐
- VS2015 编写C++的DLL,并防止DLL导出的函数名出现乱码(以串口通信为例,实现串口通信)
参考链接:https://blog.csdn.net/songyi160/article/details/50754705 1.新建项目 建立好的项目界面如下: 接着在解决方案中找到[头文件]然后右击 ...
- Python笔记(十一)_匿名函数与map()、filter()
匿名函数 无需显式定义函数名,和函数过程,使代码更精简的lambda表达式 函数没有命名,不用担心函数名的冲突 冒号前面代表函数的参数,后面表示计算过程 >>>func=lambda ...
- 转 LoadRunner错误处理函数
在脚本的Run-time Settings中,可以设置在脚本运行过程中发生错误的处理方式.进入到Run-time Settings中,切换到Miscellaneous标签页,可以看到Error Han ...
- xampp环境下,配置Zend Studio调试php(XDebug) 转摘:http://www.cnblogs.com/tuyithief/archive/2011/06/02/2068431.html
先说一下文件版本,xampp 1.7.4,php 5.3.5. 走了很多弯路,截止目前,ZendDebugger在php 5.3.x下,只有nts版本,既non Thread Safety(具体什么意 ...
- C#的扩展方法学习
一,什么是扩展方法? 1,扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 2,扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用 ...
- Centos 安装vnc / vncserver
一.安装 以root用户运行以下命令来安装vncserver; yum install tigervnc-server 同样运行以下命令来安装vncviewer; yum install vnc 停止 ...
- linux起源及centos安装
第1章 Linux介绍 1.1 什么是操作系统 是一个人与计算机硬件的中介 Linux:内核+shell+扩展软件 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可 ...
- oracle10G rac 10.2.0.1升级10.2.0.4
前言 ocr版本查询指令: ocrcheck vote盘路径查询指令: crsctl query css votedisk 相关指令参考来源:http://hzhg12345.blog.163.co ...
- python中函数用法
unique() numpy.tolist() collections.defaultdict() random.sample()[] 1. unique():返回参数数组中所有不同的值,并按照从小到 ...
- Administrator 被禁用
Administrator 被禁用 问题: 重装系统后出现输入用户名和密码的情况,原因是Administrator被禁用. 解决方法: 1.开机后shift+重启 –>选择疑难解答 --> ...