python之商品操作小程序
要求:写一个添加商品的程序,商品信息写入txt文件中,以二维字典形式比如:{‘小米’:{‘价格’:‘1999元’,‘数量’:10}}
1、添加商品
#商品名称
#价格
#数量
2、查看商品
3、删除商品
#输入商品名称
需求分析:
1.因为文件是直接用字典存储的,可以完成字符串和字典的强制转换
2.新建一个字典,把文件中的商品信息读出来以字符串形式,再把字符串强转到字典
3.所有的操作都针对字典操作,并保持字典和文件永远信息【一致】
def duqu():
shangpin_dic = {}#商品字典
shangpin_str= ''#商品字符串
shangpin_file = open('shangpin.txt', 'w+')#商品文件
for i in shangpin_file:#把文件中有的商品都写入字符串里
shangpin_str = shangpin_str + i
if shangpin_str != '':
shangpin_dic = eval(shangpin_str)#字符串转换成字典
return shangpin_dic
def start():
a=duqu()#把文件中的商品都拿到字典里,a现在就是所有商品的字典,之后的增、删、查都是直接操作字典
while 1 > 0:
xx = input('请输入你的选择:1、添加商品 2、查看商品 3、删除商品,4、退出\n')
if xx == '1':
add(a)#调用增加的方法,字典a在这里是实参,方法中的x是形参
elif xx == '2':
chakan(a)
elif xx == '3':
shanchu(a)
elif xx == '4':
print('再见')
break
else:
print('你输入的不对')
def chakan(x):
if len(x) > 0:#查看字典中的元素大于0,至少有一个商品
for k in x:
print("商品名称:"+k+",价格:"+x.get(k).get('price')+",库存:"+x.get(k).get('stock'))#输出字典中的商品
else:
print("暂无商品")#字典中的元素不大于零,没有商品
def shanchu(x):
rm = input("请输入你要删除的商品名称:\n")
if x.get(rm,'-') == '-':
print("您删除的商品不存在")
else:
x.pop(rm)
copyToTxt(x)
def add(x):#x为形参
add = input("请按以下格式输入你要增加的商品(商品名称_价格_数量,例如:小米_1999元_4)\n")
adds = add.split("_")#输入的商品分割后的list,例如:['小米','1999元',4]
if len(adds) != 3:#判断输入的格式,分割后不是三个元素的输入格式不正确
print("输入的格式不正确")
else:
x[adds[0]]={'price':adds[1],'stock':adds[2]}#在字典内增加输入的商品信息
copyToTxt(x)#写入文件 def copyToTxt(x):
f = open('shangpin.txt','w')
f.write(str(x))
f.close()
print("操作成功")
start()
python之商品操作小程序的更多相关文章
- Python flask构建微信小程序订餐系统
第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆ht ...
- Python爬取微信小程序(Charles)
Python爬取微信小程序(Charles) 本文链接:https://blog.csdn.net/HeyShHeyou/article/details/90045204 一.前言 最近需要获取微信小 ...
- Python flask构建微信小程序订餐系统☝☝☝
Python flask构建微信小程序订餐系统☝☝☝ 一.Flask MVC框架结构 1.1实际项目结构 1.2application.py 项目配置文件 Flask之flask-script模块使 ...
- Python flask构建微信小程序订餐系统✍✍✍
Python flask构建微信小程序订餐系统 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题, ...
- python实现串口通讯小程序(GUI界面)
python实现串口通讯小程序(GUI界面) 使用python实现串口通讯需要使用python的pyserial库来实现,这个库在安装python的时候没有自动进行安装,需要自己进行安装. 1.安装p ...
- python爬取微信小程序(实战篇)
python爬取微信小程序(实战篇) 本文链接:https://blog.csdn.net/HeyShHeyou/article/details/90452656 展开 一.背景介绍 近期有需求需要抓 ...
- 利用Python代码编写计算器小程序
import tkinter import tkinter.messagebox import math class JSQ: def __init__(self): #创建主界面 self.root ...
- appium+python自动化56-微信小程序自动化(摩拜为例)
前言 最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试? 本篇以摩拜小程序为例,介绍如何定位小程序里面的元素 运行环境: android 7.0 appium v1.7.1 web ...
- [作业] Python入门基础---购物车小程序
1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的 ...
随机推荐
- Struts2+Spring+Hibernate step by step 04 整合Spring之二,从数据库验证username和password
注:本系列文章部分内容来自王健老师编写ssh整合开发教程 使用Spring的AOP进行项目的事务管理,已经成为非常多企业的首先,Spring做为优秀的开源项目,其在数据库连接.事务管理方面的优势已经显 ...
- 文本分析实例---QQ聊天记录分析
对QQ聊天记录进行分析,由于每天产生的聊天记录比較多,所以选取的是从2月份整月的聊天记录数据.分析要产生的结果有三个,聊天记录中发消息的人前top15.统计24小时时间段那个时间段发贴人最多,还有对消 ...
- queue_action
http://www.learn4master.com/programming-language/python/python-queue-for-multithreading
- 数据库的事务与ACID
一.事务: 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit).在计算机术语中,事务通常就是指数据库事务. 二 ...
- atexit函数的使用【学习笔记】
#include "apue.h" static void my_exit1(void); static void my_exit2(void); int main(void) { ...
- 哈希表---线性探测再散列(hash)
//哈希表---线性探测再散列 #include <iostream> #include <string> #include <stdio.h> #include ...
- HDU2295 Radar —— Dancing Links 可重复覆盖
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2295 Radar Time Limit: 2000/1000 MS (Java/Others) ...
- Scrapy运行报错:ModuleNotFoundError: No module named 'douban.douban'
运行scrapy爬虫报错: from douban.douban.items import DoubanItem ModuleNotFoundError: No module named 'douba ...
- Caused by: java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
application.properties中不能含有\符号. 只要遇到就会报这个错误. 解决方式:将application.properties中的 \ 改为 \\ 或者 /
- HDU - 1874 畅通工程续(最短路径)
d.已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离. s.最短路径 c.Dijkstra单源最短路 /* Dijkstra单源最短路 权值必须是非负 单源最短路径,Dijkstra算法 ...