【程序分析】
class student:
count = 0
def __init__(self,name,age):
self.name = name
self.age = age
student.count += 1
stu1 = student("张钊","18")
stu2 = student("李贺", "19")
stu3 = student("李宇贺", "19")
print("共实例化了%d个学生"%(student.count))
结果:
共实例化了3个学生
2. 编写程序, A 继承了 B, 两个类都实现了 handle 方法, 在 A 中的 handle 方法中调用 B 的 handle 方法。
class B:
def handle(self):
print("类B的handle方法")
class A(B):
def handle(self):
B.handle(self)
print("类A的handle方法")
a = A()
a.handle()
结果:
类B的handle方法
类A的handle方法
3.编写程序,创建类Mymath,计算圆的周长和面积以及球的表面积和体积,并编写测试代码,结果均保留两位小数。
import math
class Mymath:
def __init__(self,r):
self.r=r
def G(self,r):
return '%.2f'%(2*math.pi*self.r)
def A(self,r):
return '%.2f'%(math.pi*self.r*self.r)
def S(self,r):
return '%.2f'%(4*math.pi*self.r*self.r)
def V(self,r):
return '%.2f'%(4/3*math.pi*math.pow(self.r,3))
r=float(input("请输入半径:"))
R=Mymath(r)
print("圆的周长=",R.G(r))
print("圆的面积=",R.A(r))
print("球的表面积=",R.S(r))
print("球的体积=",R.V(r))
结果:
请输入半径:2
圆的周长= 12.57
圆的面积= 12.57
球的表面积= 50.27
球的体积= 33.51
4. 编写程序,创建类Temperature,其包含成员变量degree(表示温度)以及实例方法ToFahrenhrit( )(将摄氏温度转换为华氏温度)和ToCelsius( )(将华氏温度转换为摄氏温度),并编写测试代码。
class Temperature:
def __init__(self,degree):
self.degree=degree
def ToFahrenhrit(degree):
degree = float(degree)
degree1 = (degree * 9/5) + 32
return degree1
def ToCelsius(degree1):
degree1 = float(degree1)
degree = (degree1 - 32) * 5 /9
return degree
print("1.从摄氏温度到华氏温度.")
print("2.从华氏温度到摄氏温度.")
choice=float(input("请选择转换方向:"))
if choice==1:
degree=float(input("请输入摄氏温度:")) #实例
F=Temperature.ToFahrenhrit(degree)
print("摄氏温度={0},华氏温度={1}".format(degree,F))
elif choice==2:
degree1=float(input("请输入华氏温度:")) #实例
C=Temperature.ToCelsius(degree1)
print("华氏温度={0},摄氏温度={1}".format(degree1,C))
else:
print("无此选项,只能选择1或2")
结果:
1.从摄氏温度到华氏温度.
2.从华氏温度到摄氏温度.
请选择转换方向:1
请输入摄氏温度:37
摄氏温度=37.0,华氏温度=98.6
5.编写程序, 设计一个学生类。这个学生类中包含学生的学号、姓名和成绩。计算3名学生的成绩平均分。(三名学生的信息:学号:a1001,姓名:张三,成绩:92。学号:a1002,姓名:李四,成绩:82。学号:a1003,姓名:王五,成绩:97。)
class Student(object):
def __init__(self, number,name,scores):
self.number = number
self.name = name
self.scores = scores
stu1 = Student("a1001","张三",92)
stu2 = Student("a1002","李四",82)
stu3 = Student("a1003","王五",97)
print("3名学生的成绩平均分:%.2f"%((stu1.scores+stu2.scores+stu3.scores)/3))
结果:
3名学生的成绩平均分:90.33
6. 编写程序,按照一下要求定义一个游乐园门票类,并尝试计算2个成人+1个小孩子平日票价。
要求:1.平日票价100元 2.周末票价为平日票价120% 3.儿童半价
class Ticket:
def __init__(self,w=True,a=True):
self.price=100
if w:
self.ratio=1
else:
self.ratio=1.2
if a:
self.discount=1
else:
self.discount=0.5
def get_price(self,num):
return self.price*self.ratio*self.discount*num
a1=Ticket(w=True,a=True)
c1=Ticket(w=True,a=False)
print("2个成人+1个小孩平日票价为:%.2f" %(a1.get_price(2)+c1.get_price(1)))
a2=Ticket(w=False,a=True)
c2=Ticket(w=False,a=False)
print("2个成人+1个小孩周末票价为:%.2f" %(a2.get_price(2)+c2.get_price(1)))
结果:
2个成人+1个小孩平日票价为:250.00
2个成人+1个小孩周末票价为:300.00
7. 编写程序,小明和小美爱跑步,小明体重75.0公斤,小美体重45.0公斤,每次跑步会减肥0.5公斤,每吃一顿饭会增加1公斤。
class Person:
def __init__(self,name,weight):
self.name=name
self.weight=weight
def get(self,m,n):
return self.weight+(1*n-0.5*m)
a1=Person("小明",75)
a2=Person("小美",45)
m=int(input("两人跑步次数m:"))
n=int(input("两人吃饭次数n:"))
print("小明经过一段时间后的体重为:%.2f" %(a1.get(m,n)))
print("小美经过一段时间后的体重为:%.2f" %(a2.get(m,n)))
结果
两人跑步次数m:1
两人吃饭次数n:2
小明经过一段时间后的体重为:76.50
小美经过一段时间后的体重为:46.50
8 编写程序,设计一个表示学生的( Student )类,该类的属性有姓名( name )、年龄(age)成绩 scores )绩包含语文、数学和英语三科成绩,每科成绩的类型为整数),另外有3个方法。
(1获取学生姓名的方法: getname(),返回类型为String.
(2)获取学生年龄的方法: getage()方法,返回类型为int
(3)返回3门科目中最高的分数: get course(),返回类型为int
class Student:
def __init__(self,name,age,scores):
self.name = name
self.age = age
self.scores = scores
def get_name(self):
return '姓名:{}'.format(self.name)
def get_age(self):
return '年龄:{}'.format(self.age)
def get_course(self):
return '最高分:{}'.format(max(self.scores))
a = Student('张钊','18',(93,95,98))
print(a.get_name())
print(a.get_age())
print(a.get_course())