【python】 类、对象的练习题

一、编写一个学生类,有姓名,年龄,性别,英语成绩,数学成绩,语文成绩,
方法:求总分,平均分,以及打印学生的信息。

类:学生(student)
属性:姓名(name)
年龄(age)
性别(gender)
英语成绩(English_score)
数学成绩(math_score)
语文成绩(chinese_score)
总成绩(total_score)
平均成绩(avg_score)
class Student():
    name = None
    age = None
    gender = None

    def total_score(self,English_score,math_score,chinese_score):
        total_score = English_score + math_score + chinese_score
        return total_score

    def avg_score(self,English_score,math_score,chinese_score):
        avg_score = (English_score + math_score + chinese_score)/3
        return avg_score

    def info(self,name,age,gender):
        print('姓名:{},年龄:{},性别:{}'.format(name,age,gender))

dl = Student()
dl.info('dl',18,'男')
print(dl.avg_score(80,90,100))
print(dl.total_score(90,80,100))
二、为"无名的粉"写一个类WuMingFen,有三个属性 面码:String theMa  粉的分量(两) 
int quantity  是否带汤 boolean likeSoup
要求:
1)写一个构造方法 分别给三个属性赋值。构造出一个WuMingFen类的对象(酸辣面码、2两、带汤),
2)写一个普通方法check()打印对象的三个属性。通过对象调用此方法。
class WuMingFen():

    def __init__(self,theMa,quantity,likeSoup):
        self.theMa = theMa
        self.quantity = quantity
        self.likeSoup = likeSoup

    def check(self):
        print('面码:{},粉的分量(单位为两):{},是否带汤(true:带汤,false(不带)):{}'.format(self.theMa,self.quantity,self.likeSoup))

person1 = WuMingFen('酸辣面码',2,True)
person1.check()
三、定义一“圆”Cirlcle类,圆心为“点”Point类,构造一圆,求圆的周长和面积,
并判断某点与圆的关系。
class Cirlcle():

    def __init__(self,cp,r):
        self.cp = cp
        self.r = r

    def Perimeter(self):
        perimeter = 2* math.pi *self.r
        return perimeter

    def area(self):
        area = 3.14 * self.r **2
        return area

    def juge(self,point):
        distance = (point.x-self.cp.x) **2 + (point.y-self.cp.y)**2

        if  distance > self.r **2:
            print('点在圆外面')
        elif distance < self.r**2:
            print('点在圆内')
        else:
            print('点在圆上')

class Point():
    def __init__(self,x,y):
        self.x = x
        self.y = y

p = Point(3,4)
c = Cirlcle(p,5)

print('圆的周长:',c.Perimeter())
print('圆的面积:',c.area())
p1 = Point(10,10)
c.juge(p1)

 

  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值