python怎么写三个商品的和_python之商品操作小程序

本文介绍了一个使用Python编写的商品管理程序,该程序能够添加、查看和删除商品信息。商品信息存储在txt文件中,以二维字典的形式表示。通过读取文件将字符串转换为字典进行操作,确保文件与字典数据同步。程序包含增、删、查功能,用户交互友好,实现了简单的商品库存管理功能。
摘要由CSDN通过智能技术生成

要求:写一个添加商品的程序,商品信息写入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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值