封装部分:
1.打印小猫爱吃鱼,小猫要喝水
class Cat:
def eat(self):
print '小猫爱吃鱼'
def drink(self):
print '小猫要喝水'
tom = Cat()
tom.eat()
tom.drink()
2.小明爱跑步,爱吃东西。
1)小明体重75.0公斤
2)每次跑步会减肥0.5公斤
3)每次吃东西体重会增加1公斤
4)小美的体重是45.0公斤
class Person:
def __init__(self, name, weight):
self.name = name
self.weight = weight
def __str__(self):
return '我的名字叫 %s 体重是 %.2f' % (self.name, self.weight)
def run(self):
print '%s 爱跑步' % self.name
self.weight -= 0.5
def eat(self):
print '%s 吃东西' % self.name
self.weight += 1
xx = Person('小明', 75.0)
xx.run()
xx.eat()
print xx
xm = Person('小美', 45.0)
xm.run()
xm.eat()
print xm
print xx
3.摆放家具
需求:
1).房子有户型,总面积和家具名称列表
新房子没有任何的家具
2).家具有名字和占地面积,其中
床:占4平米
衣柜:占2平面
餐桌:占1.5平米
3).将以上三件家具添加到房子中
4).打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表
class HouseItem:
def __init__(self, name, area):
self.name = name
self.area = area
def __str__(self):
return '[%s] 占地 %.2f' % (self.name, self.area)
class House:
def __init__(self, house_type, area):
self.house_type = house_type
self.area = area
self.free_area = area
self.item_list = []
def __str__(self):
return '户型:%s\n总面积:%.2f[剩余:%.2f]\n家具:%s' % (self.house_type, self.area, self.free_area, self.item_list)
def add_item(self, item):
print '要添加 %s' % item
if item.area > self.free_area:
print '%s 的面积太大了,无法添加' % item.name
return
self.item_list.append(item.name)
self.free_area -= item.area
bed = HouseItem('bed', 400)
print bed
chest = HouseItem('chest', 2)
print chest
table = HouseItem('table', 1.5)
print table
my_home = House('两室一厅', 60)
my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)
print my_home
4.需求:
1).士兵瑞恩有一把AK47
2).士兵可以开火(士兵开火扣动的是扳机)
3).枪 能够 发射子弹(把子弹发射出去)
4).枪 能够 装填子弹 --增加子弹的数量
class Gun:
def __init__(self, model):
self.model = model
self.bullet_count = 0
def add_bullet(self, count):
self.bullet_count += count
def shoot(self):
if self.bullet_count <= 0:
print '[%s] 没有子弹了...' % self.model
return
self.bullet_count -= 1
print '[%s] 突突突...[%d]' %(self.model,self.bullet_count)
class Soldier:
def __init__(self,name):
self.name = name
self.gun = None
def fire(self):
if self.gun == None:
print '[%s] 还没有枪' %self.name
return
print 'go!!! [%s]' %self.name
self.gun.add_bullet(50)
self.gun.shoot()
ak47 = Gun('AK47')
ryan = Soldier('Ryan')
ryan.gun = ak47
ryan.fire()
继承部分:
5.打印tom来了,我是tom和tom走了
class Cat:
def __init__(self, new_name):
self.name = new_name
print '%s 来了' % self.name
def __del__(self):
print '%s 走了' % self.name
def __str__(self):
return '我是 %s' % self.name
tom = Cat('Tom')
print tom
6.图书管理系统
1. 查询
2. 增加
3. 借阅
4. 归还
5. 退出
class Book(object):
def __init__(self, name, author, state, bookIndex):
self.name = name
self.author = author
self.state = state
self.bookIndex = bookIndex
def __str__(self):
return "书名:<%s> 状态:<%s>" % (self.name, self.state)
class BookManage(object):
books = []
def start(self):
b1 = Book('python', 'Guido', 1, "INS888")
self.books.append(b1)
self.books.append(Book('java', 'hello', 1, "IGS888"))
self.books.append(Book('c', 'westos', 1, "INS880"))
def Menu(self):
self.start()
while True:
print("""
图书管理系统
1. 查询
2. 增加
3. 借阅
4. 归还
5. 退出
""")
choice = input("Choice:")
if choice == "1":
pass
elif choice == '2':
self.addBook()
elif choice == '3':
self.borrowBook()
else:
print("清输入正确的选择!")
def addBook(self):
name = input("书名:")
self.books.append(Book(name, input("作者:"), 1, input("书籍位置:")))
print("添加图书%s成功!" % (name))
def borrowBook(self):
name = input("借阅书籍名称:")
ret = self.checkBook(name)
if ret != None:
if ret.state == 0:
print("书籍《%s》已经借出" % (name))
else:
ret.state = 0
print("借阅%s成功" % (name))
else:
print("书籍《%s》不存在!" % (name))
def checkBook(self, name):
for book in self.books:
# book: Book类创建的对象
# book.name;
if book.name == name:
# 返回book对象
return book
else:
return None
bookManage = BookManage()
bookManage.Menu()