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()
    
    
    		





  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/wuyida/p/6301353.html
Copyright © 2011-2022 走看看