1、定义一个矩形类,求周长和面积
代码如下:
class Square:
def __init__(self,weight,height):
self.weight = weight
self.height = height
def show(self):
print(f'矩形面积为:{self.weight * self.height},周长为:{(self.weight + self.height) * 2}')
result = Square(10,8)
result.show()
运行结果为:
矩形面积为:80,周长为:36
2、自定义类,计算java,sql,web三门课的总成绩和平均分
代码如下:
class Subject:
def __init__(self,java,sql,web):
self.java = java
self.sql = sql
self.web = web
def add(self):
print(f'总成绩为:{self.java + self.sql + self.web}')
def aver(self):
print(f'平均分为:{(self.java + self.sql + self.web) / 3}')
result = Subject(100,90,80)
result.add()
result.aver()
运行结果为:
总成绩为:270
平均分为:90.0
3、创建一个学生类,存储学生的姓名,python、c、java成绩, 然后定义一个列表存储5个学生,依次输入学生信息, 输出所有所有学生的信息,成绩以等级显示(90以上为A;80-90为B,60-80为C;60以下为D)
代码如下:
class Student:
def __init__(self,name,java,python,c):
self.java = java
self.c = c
self.python = python
self.name = name
def information(self):
student_list = []
student = {'name': self.name, 'Java': self.java, 'Python': self.python, 'C': self.c}
student_list.append(student)
def show(self):
print(f'姓名:{self.name},Java成绩:{self.java},Python成绩:{self.python},C语言成绩:{self.c}')
def grade(self):
if self.java > '89':
self.java = 'A'
elif self.java > '79':
self.java = 'B'
elif self.java > '59':
self.java = 'C'
else:
self.java = 'D'
if self.python > '89':
self.python = 'A'
elif self.python > '79':
self.python = 'B'
elif self.python > '59':
self.python = 'C'
else:
self.python = 'D'
if self.c > '89':
self.c = 'A'
elif self.c > '79':
self.c = 'B'
elif self.c > '59':
self.c = 'C'
else:
self.c = 'D'
print(f'姓名:{self.name},Java成绩:{self.java},'
f'Python成绩:{self.python},C语言成绩:{self.c}')
lst = [
Student('张三','80','75','78'),
Student('李四','90','75','65'),
Student('王五','55','49','59'),
Student('赵六','68','79','64'),
Student('孙七','94','71','99')
]
for i in lst:
i.show()
print('=============================================')
for i in lst:
i.great()
运行结果为:
姓名:张三,Java成绩:80,Python成绩:75,C语言成绩:78
姓名:李四,Java成绩:90,Python成绩:75,C语言成绩:65
姓名:王五,Java成绩:55,Python成绩:49,C语言成绩:59
姓名:赵六,Java成绩:68,Python成绩:79,C语言成绩:64
姓名:孙七,Java成绩:94,Python成绩:71,C语言成绩:99
=============================================
姓名:张三,Java成绩:B,Python成绩:C,C语言成绩:C
姓名:李四,Java成绩:A,Python成绩:C,C语言成绩:C
姓名:王五,Java成绩:D,Python成绩:D,C语言成绩:D
姓名:赵六,Java成绩:C,Python成绩:C,C语言成绩:C
姓名:孙七,Java成绩:A,Python成绩:C,C语言成绩:A
4、继承练习 银行卡: 卡号、密码、姓名、余额 方法:取款 本行卡: 方法:取款、转账 其它行卡: 方法:取款(加收2元手续费) 实例化对象进行测试
代码如下:
class Card:
def __init__(self,id,pwd,name,money):
self.id = id
self.pwd = pwd
self.name = name
self.money = money
class ICard(Card): #本银行卡
def withdrawal(self):
print(f'姓名:{self.name},卡号:{self.id}')
i = int(input('请选择功能:(1.取款 2.转账):'))
if i == 1:
a = int(input('请输入取款金额:'))
self.money -= a
print(f'取款成功,剩余金额:{self.money}')
else:
b = int(input('请输入转账金额:'))
self.money += b
print(f'转账成功,剩余金额:{self.money}')
class OCard(Card): #外行卡
def withdrawal(self):
print(f'姓名:{self.name},卡号:{self.id}')
print('你是外行卡,取款加收2元手续费')
a = int(input('请输入取款金额:'))
self.money -=a + 2
print(f'取款成功,您的余额为:{self.money}')
card1 = OCard(1001,123456,'张三',6666)
card1.withdrawal()
print('=====================================')
card2 = ICard(1002,123456,'李四',9999)
card2.withdrawal()
运行结果为:
姓名:张三,卡号:1001
你是外行卡,取款加收2元手续费
请输入取款金额:100
取款成功,您的余额为:6564
=====================================
姓名:李四,卡号:1002
请选择功能:(1.取款 2.转账):2
请输入转账金额:11555
转账成功,剩余金额:21554
5、多态练习 主人Master:请好友吃饭,陪好友玩 好友Friend: 中国朋友:吃饺子,表演太极拳 美国朋友:吃披萨,踢足球 试用程序模拟
代码如下:
class Friend:
def eat(self):
pass
class Chinese(Friend):
def eat(self):
print('吃饺子')
def play(self):
print('表演太极拳')
class American(Friend):
def eat(self):
print('吃披萨')
def play(self):
print('踢足球')
class Master:
def treat(self,friend):
friend.eat()
china = Chinese()
american = American()
master = Master()
china.eat()
china.play()
american.eat()
american.play()
运行结果为:
吃饺子
表演太极拳
吃披萨
踢足球