本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。 输入格式: 输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。
时间: 2024-10-15 18:25:30 浏览: 66
这个问题需要设计一个简单的程序,步骤如下:
1. 首先,你需要通过`input()`函数获取用户输入的两个信息:学生人数N以及他们的成绩列表。N作为整数从用户那里读取,成绩列表则是一串以空格分隔的整数。
```python
N = int(input()) # 获取学生人数
scores = list(map(int, input().split())) # 将成绩字符串转换为整数列表
```
2. 接下来,你可以初始化一个变量`total_score`来存储所有成绩之和,以及一个变量`passing_count`来记录及格的学生数,初始值都为0。
```python
total_score = 0
passing_count = 0
```
3. 使用一个循环遍历每个成绩,累加总分并检查是否达到及格线(60分)。如果分数大于等于60,就增加`passing_count`。
```python
for score in scores:
total_score += score
if score >= 60:
passing_count += 1
```
4. 计算平均成绩,除以学生总数。为了防止除以零错误(当N为0时),我们需要在计算前做一个条件判断。
```python
if N > 0:
average_score = total_score / N
else:
average_score = None # 或者设置默认值0,根据需求调整
```
5. 最后,打印出平均成绩和及格人数。
```python
print("平均成绩:", average_score)
print("及格人数:", passing_count)
```
整个程序结构大致如此:
```python
N = int(input())
scores = list(map(int, input().split()))
total_score = 0
passing_count = 0
for score in scores:
total_score += score
if score >= 60:
passing_count += 1
average_score = total_score / N if N > 0 else None
print("平均成绩:", average_score)
print("及格人数:", passing_count)
```
阅读全文