python利用面向对象+数据分析,实现国际产科不同国籍新生儿出生指标对照分析:体长、体重、肺活量。

任务要求:
(1) 通过建立恰当的类类型来表示中国婴儿类型(体长、体重、肺活量、属相)
(2) 通过建立恰当的类类型来表示美国婴儿类型(体长、体重、肺活量、保障号码)
(3) 还要建立一个基类的类型,包括如下类属性:全部婴儿的总体长、全部婴儿的总体重、全部婴儿的总肺活量,全部婴儿数量。还要定义一个初始化方法:初始化婴儿的体长、体重、肺活量,同时实现计数功能
(4) 为了实现该任务是统计要求,要在中国婴儿类中定义如下四个类属性:全部婴儿的总体长、全部婴儿的总体重、全部婴儿的总肺活量,中国婴儿数量。同时,要在中国婴儿类中定义一个初始化的实例方法:完成体长、体重、肺活量、属相的输入,同时实现中国婴儿的计数。还要在中国婴儿类中定义一个显示上述四个属性的实例方法
(5) 为了实现该任务是统计要求,要在美国婴儿类中定义如下四个类属性:全部婴儿的总体长、全部婴儿的总体重、全部婴儿的总肺活量,美国婴儿数量。同时,要在美国婴儿类中定义一个初始化的实例方法:完成体长、体重、肺活量、保障号的输入,同时实现美国婴儿的计数。还要在美国婴儿类中定义一个显示上述四个属性的实例方法
(6) 主函数功能如下:

a) 通过循环结构模拟产科医生不断接生新生儿的工作在主函数中,创建两个列表,分别存放中国籍、美国籍新生儿对象。

--------------------------------以上的步骤已经完成,就如下步骤如何实现-----------------------------------------

b) 根据采集来的数据计算如下指标:
i. 婴儿平均体重,美国婴儿平均体重,中国婴儿平均体重
ii. 婴儿平均体长,美国婴儿平均体长,中国婴儿平均体长
iii. 婴儿平均肺活量,美国婴儿平均肺活量,中国婴儿平均肺活量
c) 做出统计图形
d) 以国籍为分类,以指标名称为系列做出统计图形
e) 以指标名称为分类,以国籍为系列做出统计图形


部分代码
#基类
class baby:
#服务于计算全体婴儿的平均指标值
num=0
__total_breath_val=0
__total_length=0
__total_weight=0
#服务于每个婴儿指标的输入和统计
def __init
(self,x,y,z):
self.__length=x
self.__weight=y
self.__breath=z
baby.__num+=1
baby.__total_breath_val+=z
baby.__total_length+=x
baby.__total_weight+=y

#服务于输出每个婴儿指标信息
def get(self):
    print("婴儿的体长:",self.__length)
    print("婴儿的体重:",self.__weight)
    print("婴儿的肺活量:",self.__breath)

def fhz(self):
    return  baby.__num,baby.__total_breath_val,baby.__total_length,baby.__total_weight

class chinese_baby(baby):
#服务于计算中国籍婴儿的平均指标值
num=0
__total_breath_val=0
__total_length=0
__total_weight=0
def __init
(self, x, y, z,k):
super().__init__(x,y,z)
self.__length = x
self.__weight = y
self.__breath = z
self.__sx=k
chinese_baby.__num += 1
chinese_baby.__total_breath_val += z
chinese_baby.__total_length += x
chinese_baby.__total_weight += y
def get(self):
super().get()
print("该婴儿的属相:",self.__sx)
print("婴儿的体长:",self.__length)
print("婴儿的体重:",self.__weight)
print("婴儿的肺活量:",self.__breath)

def fhz(self):
return chinese_baby.__num,chinese_baby.__total_breath_val,chinese_baby.__total_length,chinese_baby.__total_weight

class america_baby(baby):
# 服务于计算中国籍婴儿的平均指标值
num = 0
__total_breath_val = 0
__total_length = 0
__total_weight = 0
def __init
(self, x, y, z, k):
super().__init__(x, y, z)
self.__length = x
self.__weight = y
self.__breath = z
self.__bzh = k
america_baby.__num += 1
america_baby.__total_breath_val += z
america_baby.__total_length += x
america_baby.__total_weight += y
def get(self):
super().get()
print("该婴儿的保障号:", self.__bzh)
print("婴儿的体长:", self.__length)
print("婴儿的体重:", self.__weight)
print("婴儿的肺活量:", self.__breath)

def fhz(self):
    return  america_baby.__num,america_baby.__total_breath_val,america_baby.__total_length,america_baby.__total_weight

if name=="__main__":
c_baby=[]
a_baby=[]
while True:
key=input("是否继续接生(y/n)")
if key=="n":
break
key=input("中国孩子还是美国孩子(c/a)")
if key=="c":
x_length=int(input("请输入体长"))
x_weight=int(input("请输入体重"))
x_breath=int(input("请输入肺活量"))
x_sx=input("请输入属相")
c_baby.append(chinese_baby(x_length,x_weight,x_breath,x_sx))
else:
x_length = int(input("请输入体长"))
x_weight = int(input("请输入体重"))
x_breath = int(input("请输入肺活量"))
x_bzh = input("请输入保障号")
a_baby.append(america_baby(x_length, x_weight, x_breath, x_bzh))

1个回答

qq_35389642
AnotherYou python的
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问