练习 DVD 读取初始 xm l数据

创建一个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('归还成功!')

猜你喜欢

转载自blog.csdn.net/HWJ990/article/details/80583211