首页 > 编程 > Python > 正文

Python类和对象的定义与实际应用案例分析

2020-02-16 00:21:29
字体:
来源:转载
供稿:网友

本文实例讲述了Python类和对象的定义与实际应用。分享给大家供大家参考,具体如下:

1.DVD管理系统

# -*- coding:utf-8 -*-#! python3class dvd:  def __init__(self,name,price,state):    self.name=name;    self.price=price    self.state=state  def __str__(self):    stat='已借出';    if self.state==1:      stat='未借出'    return '名称:《%s》 单价:%d 状态:%s'%(self.name,self.price,stat)class DVDManager:  #存储 多个dvds 每一个元素 都是一个DVD  dvds=[]  def init(self):    self.dvds.append(dvd('光辉岁月',10,0));    self.dvds.append(dvd('绅士', 5, 1));    self.dvds.append(dvd('海阔天空', 11, 1));  def Menu(self):    self.init()    while(True):      print('1.查询所有DVD')      print('2.增加DVD')      print('3.借出DVD')      print('4.归还DVD')      print('5.退出')      choose=int(input('请选择:'));      if choose==1:        self.showAllDVD();      elif choose==2:        self.insertDVD();      elif choose==3:        self.jiechuDVD();      elif choose==4:        self.rollBackDVD();      elif choose==5:        print('5.谢谢使用')        break;  def showAllDVD(self):    for d in self.dvds:      print(str(d))  def jiechuDVD(self):    name = input('请输入DVD的名称:')    ret = self.checkDVD(name);    if ret != None:      if ret.state==0:        print('dvd 已经借出去了')        #return;      else:        days=int(input('请输入借出天数:'))        ret.state = 0;        print('借出 %d 天,应还利息%d '%(days,ret.price*days))    else:      print('DVD 不存在!')  def rollBackDVD(self):    name = input('请输入归还DVD的名称:')    ret = self.checkDVD(name);    if ret == None:      print('DVD 不存在!')    else:      if ret.state == 1:        print('dvd 未借出!')      else:        days= int(input('请输入借出去了多少天?'))        y_money=ret.price * days        print('借出 %d 天,应还利息%d ' % (days, y_money))        money=0;        while True:          money= int(input('请输入金额:'))          #带学生完成..          if money<y_money:            print('不够!')          else:            break;        if money>=y_money:          print('找零:%d'%(money-y_money));        ret.state=1;        print('归还成功!')  def insertDVD(self):    name = input('请输入DVD的名称:')    ret= self.checkDVD(name);    if ret != None:      print('DVD 已经存在!')    else:      price=int(input('请输入价格:'))      new_dvd=dvd(name,price,1);      self.dvds.append(new_dvd)      print('存放成功!')  def checkDVD(self,name):    for d in self.dvds:      if d.name==name:        return d;#返回当前对象-->内存地址    else:      return None;manager= DVDManager();manager.Menu();

本机测试运行结果:

2.给宠物看病

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表