牛客python题库解题笔记——5小时学python(5)

一、面向对象

1、圆的面积
程序需要一个求圆面积的功能,需要使用import导入math库计算圆的面积
输入浮点数R为圆的半径,R>0。结果保留三位小数。

from math import pi
r = float(input())
print('%.3f'%(pi*r**2))

2、圆的面积
基本信息有姓名(name)、工号(ID)、刷题量(num)。
假设姓名是’NN’、工号为1000、刷题量为600,创建一个类Nowcoder并实例化,然后输出这三项基本信息。

class NowCoder:
    name = "NN"
    ID = 1000
    num = 600

N = NowCoder()
print(N.name)
print(N.ID)
print(N.num)

3、类的初始化
基本信息:姓名(name)、工号(ID)、刷题量(num)、签到天数(days),其中前三项通__init__方法初始化,签到天数在初始化的时候从0开始增加1。
实例化Nowcoder类并初始化基本信息并打印,基本信息通过input输入。

class NowCoder:
    days = 0

    def __init__(self, name, ID, num):
        self.name = name
        self.ID = ID
        self.num = num
        self.days += 1

x, y, z = input().split()
N = NowCoder(x, y, z)
print(N.name)
print(N.ID)
print(N.num)
print(N.days)
x, y, z = input().split()
M = NowCoder(x, y, z)
print(M.name)
print(M.ID)
print(M.num)
print(M.days)

4、继承
有基本信息姓名(name)、工号(ID)、签到天数(num),创建一个Nowcoder类,包括其中基本成员以及初始化方法__init__,并创建打印方法printInformation,该方法内输出类似"N’s ID is 10001, and his or her number of signing in is 89."的句子。
同时还有多部门,如IT部门基本信息多了使用语言(language),美工部门基本信息多了主色调(color),创建Nowcoder的子类IT以及Designer,继承Nowcoder的所有成员及初始化方法。分别输入IT部门和美工部门的基本信息,创建IT类和Designer类,并对其初始化,各自调用printInformation后直接输出多余的基本信息。

class Nowcoder:
    def __init__(self, name, ID, num):

        self.name = name
        self.ID = ID
        self.num = num

    def printInformation(self):

        print(
            f"{self.name}'s ID is {self.ID}, and his or her number of signing in is {self.num}."
        )


class IT(Nowcoder):
    def __init__(self, name, ID, num, language) -> None:
        super().__init__(name, ID, num)
        self.language = language

    def printInformation(self):
        super().printInformation()
        return print(self.language)


class Designer(Nowcoder):
    def __init__(self, name, ID, num, color) -> None:
        super().__init__(name, ID, num)
        self.color = color

    def printInformation(self):
        super().printInformation()
        return print(self.color)


niu = input().split()
IT(*niu).printInformation()
mei = input().split()
Designer(*mei).printInformation()

5、计算题目难度
采用难度=平均分/满分数的策略,现在有一套总分100分的考题经过多个考生测试得到成绩,计算该试卷题目的难度。结果保留1位小数。

grade = list(map(int, input().split())) #将字符串转换为int类型方便计算
avg = sum(grade) / len(grade) #算出平均分
print("%.1f" % (avg / grade.count(100))) 

你可能感兴趣的:(#,python练习题,python,开发语言,numpy)