python面向对象练习
1、定义一个矩形类,求周长和面积
class jx:
def __init__(self,c,k):
self._c=c
self._k=k
def show(self):
c=self._c
k=self._k
zc=(c+k)*2
s=c*k
print( f'周长为{zc},面积为{s}')
b=jx(3,2)
b.show()
2、自定义类,计算java,sql,web三门课的总成绩和平均分
class _avg:
def __init__(self,java,sql,web):
self._java=java
self._sql=sql
self._web=web
def show(self):
sum=self._java+self._sql+self._web
Avg=sum/3
print(f'java,web,sql三门课的平均成绩为{Avg}')
stu=_avg(90,80,79)
stu.show()
3、创建一个学生类,存储学生的姓名,python、c、java成绩, 然后定义一个列表存储5个学生,依次输入学生信息, 输出所有所有学生的信息,成绩以等级显示(90以上为A;80-90为B,60-80为C;60以下为D)
class stu:
def __init__(self,name,java,python,c):
self._name=name
self.j=java
self.c=c
self.py=python
lis=[self.j,self.py,self.c]
self.lis=lis
def level(self):
for i in range(3):
if self.lis[i] >=90:
self.lis[i]='A'
elif self.lis[i]>80:
self.lis[i]='B'
elif self.lis[i]>60:
self.lis[i]='C'
else:
self.lis[i]='D'
return self.lis
def show(self):
Lis=[self._name,self.level()]
return Lis
stu1=stu('jack',90,80,90)
stu2=stu('candy',95,88,69)
stu3=stu('cindy',66,76,39)
stu4=stu('frank',61,87,44)
stu5=stu('tony',20,65,49)
lis1=[stu1.show(),stu2.show(),stu3.show(),stu4.show(),stu5.show()]
print(lis1)
4、继承练习 银行卡: 卡号、密码、姓名、余额 方法:取款 本行卡: 方法:取款、转账 其它行卡: 方法:取款(加收2元手续费) 实例化对象进行测试
class card:
def __init__(self,no,pwd,name,blance):
self.no=no
self.pwd=pwd
self.name=name
self.blance=blance
def withdraw(self,money):
if self.blance>=money:
self.blance-=money
else:
return -1
class localcard(card):
def transform(self,money,tocard):
if self.blance>=money:
self.blance-=money
tocard+=money
else:
return -1
class o_card(card):
def withdraw(self,money):
if self.blance+2 >= money:
self.blance -= money+2
else:
return -1
lc=localcard(1235848,2222,'tony',2222)
r=lc.withdraw(2000)
if r==-1:
print('余额不足')
else:
print(f'转账成功,余额为{lc.blance}')
5、多态练习 主人Master:请好友吃饭,陪好友玩 好友Friend: 中国朋友:吃饺子,表演太极拳 美国朋友:吃披萨,踢足球 试用程序模拟
class friend:
def eat(self):
print('请吃饭,陪玩')
class manster:
def treat(self,friend):
friend.eat()
class chinese(friend):
def eat(self):
print('吃饺子,表演太极')
class amercan(friend):
def eat(self):
print('吃披萨,一起踢足球')
xiaowang=chinese()
Tony=amercan()
m=manster()
m.treat(xiaowang)
m.treat(Tony)
|