牛客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))) 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Turbo正则

如果对您有用请我喝杯咖啡吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值