一、面向对象
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)))