创建一个xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<dvds>
<dvd>
<name>悠然的故事</name>
<price>200</price>
<state>1</state>
</dvd>
<dvd>
<name>春天的风</name>
<price>300</price>
<state>0</state>
</dvd>
<dvd>
<name>冬天的阳光</name>
<price>400</price>
<state>1</state>
</dvd>
</dvds>
==============================================
引路径:
import xml.etree.ElementTree as ET
# 1先加载文档发哦内存里 形成一个倒桩的树结构
from python高级内容.DVD管理系统 import DVD
tree = ET.parse('dvd.xml')
# 2.获取根节点
root = tree.getroot()
dvds=[]
def getdvds():
for dvd in root:
n_dvd = DVD()
for ele in dvd:
if ele.tag=='name':
n_dvd.name=ele.text
elif ele.tag=='price':
n_dvd.price=ele.text
elif ele.tag=='state':
n_dvd.state=ele.text
dvds[n_dvd.name]=n_dvd
return dvds
==============================================
DVD 系统:
from python高级内容 import 练习DVD读取初始xml数据2 as dr
class DVD:
def __init__(self,*args):
self.name = ''
self.price = ''
self.state = ''
#第一种: # if len(args)>0:
# self.name=[0]
# self.price=[1]
# self.state=[2]
if __name__=='__main__':
# youran=DVD('悠然的故事',200,1)#0:借出 1未借出
# chuntian=DVD('春天的风',200,0)#0:借出 1未借出
# dongtian=DVD('冬天的阳光',200,1)#0:借出 1未借出
# dvds = {youran.name:youran,chuntian.name:chuntian,dongtian.name:dongtian}
dvds= dr.getdvds()
while True:
print('----DVD管理系统-----')
print('1.查询说有DVD')
print('2.增加DVD')
print('3.借出DVD')
print('4.归还DVD')
print('5.退出')
num=int(input('请选择:'))
if num == 5:
break
elif num == 1:
print('名字\t价格\t状态')
for key in dvds.keys():
if dvds.get(key).state__eq__0:
print(key+'\t'+str(dvds.get(key).price)+'\t借出')
else:
print(key+'\t'+str(dvds.get(key).price)+'\t未借出')
elif num == 2:
name=input('请输入DVD的名字:')
while name in dvds.keys():
name = input('DVD的名字已存在,请重新输入:')
price = input('请输入DVD的价格')
# if name
new_dvd =DVD(name,price,1)
dvds[name] = new_dvd
print('添加成功')
elif num == 3:
name = input('请输入要借出的DVD的名字:')
while name not in dvds.keys():
name = input('DVD不存在,请重新输入:')
if dvds.get(name).state==0:
print(name+'已借出')
else:
dvds.get(name).state = 0
print(name+'借出成功')
elif num == 4:
name = input('请输入要归还的DVD名字:')
while name not in dvds.keys():
name = input('DVD不存在,请重新输入:')
if dvds.get(name).state == 1:
print('DVD 未借出')
else:
days = int(input('请输入借出的天数:'))
print('请刷卡:',int(dvds.get(name).price)*days,'.00元')
dvds.get(name).state = 0
print('归还成功!')