用Python编写程序,输入n个学生的成绩(n也由键盘输入),统计平均分及成绩不及格的人数。 输入格式: 1.第一行输入一个正整数,表示指定输入的人数n。 2.从第二行开始每行输入一个数,共n行,表示n个成绩。
时间: 2024-10-10 13:15:21 浏览: 33
你可以使用Python的列表和循环结构来实现这个功能。下面是一个简单的示例代码:
```python
# 定义函数计算平均分和不及格人数
def calculate_average_and_failures(total_scores, n):
total = sum(total_scores)
average = total / n
failures = sum(1 for score in total_scores if score < 60) # 假设不及格线为60分
return average, failures
# 输入学生人数和成绩
n = int(input("请输入学生人数:"))
scores = []
for _ in range(n):
score = float(input(f"请输入第{(_ + 1)}个学生的成绩:"))
scores.append(score)
# 调用函数并输出结果
average, failures = calculate_average_and_failures(scores, n)
print(f"平均分为:{average}")
print(f"成绩不及格的学生有:{failures}人")
相关问题
Python编写程序,输入n个学生的成绩(n也由键盘输入),统计平均分及成绩不及格的人数。 输入格式: 1.第一行输入一个正整数,表示指定输入的人数n。 2.从第二行开始每行输入一个数,共n行,表示n个成绩。
在Python中,你可以使用while循环和列表来编写这样一个程序。下面是一个简单的示例:
```python
# 定义函数来计算平均分和不及格人数
def calculate_stats(total_scores):
total = sum(total_scores)
avg = total / len(total_scores)
if len(total_scores) == n: # 假设n是我们之前获取到的学生总数
count_below_passing = total_scores.count(60) # 如果不及格线设定为60分
else:
count_below_passing = "无法确定,未提供总人数"
return avg, count_below_passing
# 获取用户输入的数值
n = int(input("请输入学生人数:"))
scores = []
# 循环读取成绩,直到输入结束
while True:
score_str = input("请输入一个成绩(输入'q'退出):")
if score_str.lower() == 'q':
break
scores.append(int(score_str))
# 调用函数并打印结果
avg, count_below_passing = calculate_stats(scores)
print(f"平均分是:{avg}")
print(f"成绩低于60分(假设不及格)的人数是:{count_below_passing}")
python编写代码实现:输入n个学生的成绩(n也由键盘输入),统计平均分及成绩不及格的人数。 输入格式: 1.第一行输入一个正整数,表示指定输入的人数n。 2.从第二行开始每行输入一个数,共n行,表示n个成绩。 输出格式: 有……个学生不及格。 输入样例: 5 50 70 60 80 30 输出样例: 平均分为:58.00,有2个学生不及格。
好的,我了解了你的要求。以下是代码实现:
n = int(input("请输入学生人数: "))
grades = []
fail_count = 0
for i in range(n):
grade = int(input("请输入第%d个学生的成绩: " % (i+1)))
if grade < 60:
fail_count += 1
grades.append(grade)
average = sum(grades) / n
print("平均分为:%.2f,有%d个学生不及格。" % (average, fail_count))
阅读全文