Python-------对象练习题

Python-------对象练习题

'''
    请定义一个交通工具(Vehicle)的类,其中有:
    属性:速度(speed),体积(size)等等
    方法:移动(move(int s)),设置速度(setSpeed(int speed)),
           加速speedUp(),减速speedDown()等等.
    最后测试中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,
    并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。
    调用 move方法输出移动距离
 '''
class Vehicle():
	def __init__(self,speed,size):
	self.__speed = speed
	self.size = size

	def move(self.s):
		print("移动了%d"%s)
	def setspeed(self,speed)
		if str(speed).isdigit():
			self.__speed = speed
		else:
			print("请输入正确速度")
		print("当前速度",self.__speed)
	def speedUp(self):
		self.__speed +=10
		print("当前速度",self.__speed)
	def speedDown(self):
		self.__speed -=10
		print("当前速度",self.__speed)
def test():
	v = Vehicle(30,15)
	v.move(20)
	v.setspeed(50)
	v.speedUp()
	v.speedUp()
	v.speedDown()
if __name__ == "__main__"
	test()

定义一个Hero类
	属性有  power,name,分别代表体力值和英雄的名子,体力值默认为100;
	方法有
	1.) go() //行走的方法,如果体力值为0,则输出不能行走,此英雄已死亡的信息
    2.) eat(int n); //吃的方法,参数是补充的血量,将 n的值加到属性power中,power的值最大为100,
	3.) hurt();//每受到一次伤害,体力值-10,体力值最小不能小于0
''''''
class Hero():
	def __init__(self,name):
		self.__name = name
		self.__power = 100

	def go(self):
		if self.__power<=0:
			print("不能行走,此英雄已死亡")
		else:
			print("英雄前进")
		def eat(self,n):
			self.__power += n
			if self.__power>100:
				self.power = 100
			print("当前体力值:",self.__power)
		def hurt(self):
			self.__power -= 10
			if self.__power<=0:
				self.__power = 0
				print("此英雄已死亡")
			print("当前体力值:",self.__power)

h = Hero("程咬金")
h.go()
for i in range(10):
	h.hurt()
h.eat(120)

'''编写python程序,用于显示人的姓名和年龄。
    定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。
    定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。
    在测试方法中创建人类的实例,然后将信息显示。
'''
class Person():
	def __init__(self,name,age):
		self.__name = name
		self.__age = age
	def display(self):
		print("姓名:%s,年龄:%d"%(self.__name,self.__age))

def test():
	p = Person("厉害呀",30)
	p.display()
test()


'''为“无名的粉”写一个类:class WuMingFen 要求:
    1.)有三个属性:面码:theMa 粉的份量(两):quantity
       是否带汤:likeSoup
    2.)写一个构造方法,以便于简化初始化过程,如:
       f1 =WuMingFen("牛肉",3,true);
    3.)测试可否有多个构造方法
    4.)写一个普通方法:check(),用于查看粉是否符合要求。
        即:将对象的三个属性打印在控制台上。
'''
class WuMingFen():
	def __init__(self,theMa,quantity,likesoup)
		self.__theMa = theMa
		self.__quantity = quantity
		self.likesoup = likesoup
		print("三个参数")

	def check(self):
		print(self.__theMa,self.__quantity,self.__likesoup)
wmf = WuMingFen("大码",10,True)
wmf.check()

'''
定义一个名为Vehicles(交通工具)的基类,该类中应包含str类型的成员属性brand(商标)和
color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和
showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。
编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),
还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。
编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),
还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。
在测试方法中测试以上各类。
'''
class Vehicles():
	def __init__(self,brand,color):
		self.__brand = brand
		self.__color = color
	def run(self):
		print("我已经开动了")
	def showInfo(self):
		print(self.__brand,self.__color)
class Car(self):
	def __init__(self,brand,color,seats)
		super().__init__(brand,color)
		self.__seats = seats
	def showCar(self):
		self.showInfo()
		print(self.__seats)
class TruckCar(self):
	def __init__(self,brand,color,load)
		super().__init__(brand,color)
		self.__load = load
	def showTruck(self):
		self.showInfo()
		print(self.__load)
c = Car("7Q","绿色",5)
c.run()
c.showCar()
t = Truck("五菱宏光","蓝色",6.66)
t.run()
t.showTruck()
建立三个类:居民、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,
多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。
要求每个类的字段都以属性的方式对外提供数据输入输出的功能。

class jimin()
	def.__init__(self,idcard,name,birthday)
		self.__idcard = idcard
		self.__name = name
		self.__birthday = birthday
	def get_name(self):
		return self.__name
	def set_name(self,name)
		self.__name = name
	class chengren(jumin):
		def __init__(self,iacard,name,birthday,xueli,job)
			super().__init__(iacard,name,birthday)
			self.__xueli = xueli
			self.__job = job
	class guanyuan(chengren):
		def __init__(self,iacard,name,birthday,xueli,job,dangpai,zhiwu)
			super().__init__(iacard,name,birthday,xueli,job)
			self.__dangpai = dangpai
			self.__zhiwu = zhiwu
gy = guanyuan("123","lhy","1998-1-23","博士","python僵尸","民族","科员")
name = gy.get_name()
print(name)
#1.编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。
'''然后对Person 类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,
并能求出平均成绩。最后在测试函数中对student类的功能进行验证。
'''
class person():
	def __init__(self,name,age,sex):
		self.__name = name
		self.__age= age
		self.__sex = sex
	def set_name(self):
		return self.__name
	def set_name(self,name):
		self.__name = name
	def set_age(self):
		return self.__age
	def set_age(self,age):
		self.__age= age
	def set_sex(self):
		return self.__sex
	def set_sex(self,sex):
		self.__sex = sex

class student(person):
	def__init__(self,name,age,sex,*mylist)
		super().__init__(name,age,sex)
		self.__mylist = mylist
	def get_mylist(self):
		return self.__mylist
	def set_mylist(self,*mylist):
		self.__mylist=mylist
	def myavg(self):
		sum = 0
		for i in self.__mylist:
			sum += i
		return sum/len(self.__mylist)
s = student("hjx",18,"男",58,59,57,56,53)
s = set_mylist(1,2,3,4,5)
myavg = s.myavg()
print(myavg)
print(s.get_name())
	

你可能感兴趣的:(Python-------对象练习题)