在person类的基础上,添加一个静态变量avgage表示所有person对象的平均年龄(整数),提供方法getavgage能够读取该静态变量。 main函数中,构造三个person类的对象,读入他们的信息,并输出他们的平均年龄
时间: 2023-04-22 17:02:25 浏览: 60
好的,以下是代码实现:
```python
class Person:
avgage = 0
count = 0
def __init__(self, name, age):
self.name = name
self.age = age
Person.count += 1
Person.avgage = (Person.avgage * (Person.count - 1) + age) // Person.count
@staticmethod
def getavgage():
return Person.avgage
if __name__ == '__main__':
p1 = Person('张三', 20)
p2 = Person('李四', 22)
p3 = Person('王五', 25)
print('平均年龄:', Person.getavgage())
```
在这个代码中,我们在Person类中添加了一个静态变量avgage,用于表示所有person对象的平均年龄。同时,我们还添加了一个count变量,用于记录创建的person对象的数量。
在构造函数中,我们每次创建一个person对象时,都会将该对象的年龄加入到avgage中,并重新计算平均年龄。
最后,在main函数中,我们创建了三个person对象,并输出了他们的平均年龄。
希望这个回答能够帮到你!
相关问题
定义学生类,并创建一个对象数组,存放10个学生对象,求10个学生的平均年龄的C#代码
语言代码。
定义学生类包括学生的姓名(name)和年龄(age)两个属性,以及构造函数、获取姓名和年龄的方法。
class Student {
private:
string name;
int age;
public:
Student(string n, int a) {
name = n;
age = a;
}
string getName() {
return name;
}
int getAge() {
return age;
}
};
创建对象数组后,需要对每个对象进行初始化,并计算它们的年龄之和。然后将年龄总和除以学生人数,即可获得10个学生的平均年龄。
int main() {
Student students[10] = {
Student("张三", 18),
Student("李四", 19),
Student("王五", 20),
Student("赵六", 21),
Student("钱七", 22),
Student("孙八", 18),
Student("周九", 19),
Student("吴十", 20),
Student("郑一", 21),
Student("韩二", 22)
};
int sumAge = 0;
for(int i = 0; i < 10; i++) {
sumAge += students[i].getAge();
}
double avgAge = sumAge / 10.0;
cout << "10个学生的平均年龄为:" << avgAge << endl;
return 0;
}
输出结果:10个学生的平均年龄为:20.0
sqlserver创建一个函数,统计各系各职称的教师的总人数、男女人数、平均年龄。
好的,以下是创建函数的SQL代码:
```
CREATE FUNCTION fn_TeacherStats()
RETURNS TABLE
AS
RETURN
(
SELECT
Department,
Title,
COUNT(*) AS TotalCount,
SUM(CASE WHEN Gender = '男' THEN 1 ELSE 0 END) AS MaleCount,
SUM(CASE WHEN Gender = '女' THEN 1 ELSE 0 END) AS FemaleCount,
AVG(Age) AS AvgAge
FROM Teachers
GROUP BY Department, Title
)
```
这个函数返回一个表格,包含各系各职称的教师的总人数、男女人数和平均年龄。你可以在查询中使用这个函数,例如:
```
SELECT * FROM fn_TeacherStats()
```