python,面向对象练习题

1.编写Python程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。
编写__init__方法,外部接收n1和n2,再为该类定义加(addition)、
减(subtration)、乘(multiplication)、除(division)等成员方法,
分别对两个成员变量执行加、减、乘、除的运算。创建Number类的对象,
调用各个方法,并显示计算结果。

class Number():

    def __init__ (self,n1,n2):
        self.__n1=n1
        self.__n2=n2
    
    def addition(self):
        m1=self.__n1+self.__n2
        print('相加等于%d'%(m1))

    def subtration(self):
        m2=self.__n1-self.__n2
        print('相减等于%d'%(m2))

    def multiplication(self):
        m3=self.__n1*self.__n2
        print('相乘等于%d'%(m3))

    def division(self):
        m4=self.__n1/self.__n2
        print('相除等于%d'%(m4))

mm=Number(20,10)
mm.addition()
mm.subtration()
mm.multiplication()
mm.division()

 

2.定义一个员工类,自己分析出几个成员,getXxx()/setXxx()方法,以及一个
显示所有成员信息的方法。并测试。

class Worker():

    def __init__(self,id,name,job):
        self.id=id
        self.name=name
        self.job=job

    def setSal(self,sal):
        self.__sal=sal        
    def getSal(self):
        return self.__sal

        
    def mess(self):
        print('编号:',self.id,'姓名:',self.name,'工作:',self.job,'工资是:',self.__sal)
        
kf=Worker('006','张三','python开发工程师')        
kf.setSal(20000)
kf.mess()


cs=Worker('008','李四','自动化测试工程师')
cs.setSal(18000)
cs.mess()

3. 定义一个表示学生信息的类Student要求如下:
(1)类Student的成员变量:sNO表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。
(2)类Student的方法成员:getNo():获得学号;getName():获得姓名;getSex():获得性别;getAge()获得年龄;getJava():获得Java 课程成绩
(3)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

'''
class Student():
    def __init__(self,no,name,sex,age,java):
        self.no=no
        self.name=name
        self.sex=sex
        self.age=age
        self.java=java        
            
    def getNo(self):
        return self.no
    def getName(self):
        return self.name
    def getSex(self):
        return self.sex        
    def getAge(self):
        return self.age
    def getJava(self):
        return self.__java
        
    def mess(self):
        print('学号:',self.no,'姓名:',self.name,'性别:',self.sex,'年龄:',self.age,'Java成绩:',self.java)
list1=[]
sum=0

s1=Student('001','张三','男',18,100)
s1.mess()
list1.append(s1.java)

s2=Student('002','李四','男',19,93)
s2.mess()
list1.append(s2.java)

s3=Student('003','王五','男',18,95)
s3.mess()
list1.append(s3.java)

s4=Student('004','赵六','女',19,90)
s4.mess()
list1.append(s4.java)

s5=Student('005','孙七','女',18,98)
s5.mess()
list1.append(s5.java)

print(list1)
print('最高分是:',max(list1))
print('最低分是:',min(list1))

for i in list1:
    sum=sum+i

print('平均成绩是:',sum/5)

 

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值