zoukankan      html  css  js  c++  java
  • python面向对象小练习


    就是几个动物,自动排列生成什么的


    class Animal(object):
    	def __init__(self,name,weight):
    		self.name = name
    		self.weight = weight
    	def eat(self):
    		self.weight +=1
    	def speak(self):
    		print ("i am a animal")
    	def walk(self):
    		print ("i am walking")	
    	
    class Dog(Animal):
    	def __init__(self,name,weight):
    		Animal.__init__(self,name,weight)
    	def eat():
    		self.weight +=1
    	def speak(self):
    		print ("i am a dog")
    	def walk(self):
    		print ("i am walking")	
    class Duck(Animal):
    	def __init__(self,name,weight):
    		Animal.__init__(self,name,weight)
    	def eat(self):
    		self.weight +=1
    	def speak(self):
    		print ("i am a duck")
    	def walk(self):
    		print ("i am walking")	
    class Cat(Animal):
    	def __init__(self,name,weight):
    		Animal.__init__(self,name,weight)
    	def eat(self):
    		self.weight +=1
    	def speak(self):
    		print ("i am a dog")
    	def walk():
    		print ("i am walking")	
    
    
    
    #animal = Dog("Dog",24)
    
    #animal.speak()
    
    def reAnimals(zoo):
    	
    	string = "animal"
    	for x in range(0,21):
    		if x%3 ==0:
    			animal = Dog(string+str(x),x+2)
    		if x%3 ==1:
    			animal = Duck(string+str(x),x)		
    		if x%3 ==2:
    			animal = Cat(string+str(x),x)
    		zoo.append(animal)
    	return zoo
    
    
    #zoo = [item for item in animal if item.weight <= 10 and item.weight >= 0]
    
    def filterAnimal(animal):
    	zoo = []
    	for x in range(0,len(animal)):
    		if animal[x].weight<=10 and animal[x].weight>=0:
    			zoo.append(animal[x])
    	#animal.clear()
    	#animal = zoo
    	return zoo
    
    animal = []
    dongwu = []
    
    dongwu = filterAnimal(reAnimals(dongwu))
    
    for x in dongwu:
    	x.speak()
    	print (x.weight)
    
    
    
    #print (animal[x].weight)
    
    
    		




    改版代码:


    class Animal(object):
    	def __init__(self,name,weight):
    		self.name = name
    		self.weight = weight
    	def eat(self):
    		self.weight +=1
    	def fly(self):
    		print ("i am a animal and i can fly")
    	def jump(self):
    		print ("i can jump ")	
    	
    class Tiger(Animal):
    	def __init__(self,name,weight):
    		Animal.__init__(self,name,weight)
    	def eat():
    		self.weight +=1
    	def fly(self):
    		print ("i am a Tiger and i cant fly")
    	def jump(self):
    		print ("i can jump ")		
    class Bird(Animal):
    	def __init__(self,name,weight):
    		Animal.__init__(self,name,weight)
    	def eat(self):
    		self.weight +=1
    	def fly(self):
    		print ("i am a bird and i can fly")
    	def jump(self):
    		print ("i can jump ")	
    class Snake(Animal):
    	def __init__(self,name,weight):
    		Animal.__init__(self,name,weight)
    	def eat(self):
    		self.weight +=1
    	def fly(self):
    		print ("i am a snake and i cant fly")
    	def jump(self):
    		print ("i cant jump ")	
            
    container = []
    dongwu = []
    
    class Zoo(object):
        def filterAnimal(animal):
            container = []
            for x in range(0,len(animal)):
                if animal[x].weight<=10 and animal[x].weight>=0:
                    container.append(animal[x])
            return container
        def reAnimals(container):
            string = "animal"   
            for x in range(0,21):
                if x%3 ==0:
                    animal = Tiger(string+str(x),x+2)
                if x%3 ==1:
                    animal = Bird(string+str(x),x)		
                if x%3 ==2:
                    animal = Snake(string+str(x),x)
                container.append(animal)
            return container	
        def relax():
            dongwu = Zoo.filterAnimal(Zoo.reAnimals(container))
            for x in dongwu:
                x.fly()
                x.jump()
                
    
    Zoo.relax()
    
    
    		





  • 相关阅读:
    科技部:中国131家独角兽企业 名单文字版
    Application_Start事件中用Timer做一个循环任务
    HttpRuntime.Cache再学习
    USB 3.0规范中译本 第10章 集线器,主机下行口以及设备上行口规范
    Vue.js 入门教程
    用python爬了自己的微信,原来好友都是这样的!
    小白到大神,Python 密集知识点汇总
    如何处理JS,css与smarty标签的冲突
    全新 Kali Linux 系统安装指南
    xshell连接centos与ubuntu
  • 原文地址:https://www.cnblogs.com/wuyida/p/6301353.html
Copyright © 2011-2022 走看看