循环录入学生姓名和语数英三门课成绩 ,当输入姓名为'q'结束成绩录入,显示总人数,显示每名学员总分,按语数英顺序显示三门课的所有人的平均成绩
时间: 2023-09-16 20:06:40 浏览: 125
### 回答1:
name_list = []
score_dict = {}
while True:
name = input("请输入学生姓名:")
if name == 'q':
break
scores = input("请输入学生语数英三门课成绩(以空格隔开):")
score_list = scores.split()
score_list = [int(x) for x in score_list]
name_list.append(name)
score_dict[name] = score_list
print("总人数为:", len(name_list))
for name in name_list:
total_score = sum(score_dict[name])
print("{}的总分是:{}".format(name, total_score))
average_scores = [0, 0, 0]
for name, scores in score_dict.items():
for i in range(len(scores)):
average_scores[i] += scores[i]
print("语文平均分:{:.2f}".format(average_scores[0]/len(name_list)))
print("数学平均分:{:.2f}".format(average_scores[1]/len(name_list)))
print("英语平均分:{:.2f}".format(average_scores[2]/len(name_list)))
### 回答2:
这是一个循环录入学生信息和成绩的问题。我会用300字中文回答你的问题。
首先,我们需要定义一个变量来计算学生的总人数,并初始化为0。接下来,我们需要创建一个空的列表来存储学生的信息和成绩。
然后,我们进入一个无限循环,输入学生的姓名。如果输入的姓名是 'q',就跳出循环。
在循环中,我们需要提示用户输入学生的语文、数学和英语成绩,并将它们转换为整数类型。然后我们计算学生的总分,并把学生的姓名、成绩和总分存入列表中。
每录入一个学生的成绩,我们就将总人数加1。
最后,我们需要计算每门课的平均成绩。可以创建三个变量来存储三门课的总成绩,并初始化为0。然后遍历学生的列表,累加每位学生对应的课程成绩到相应的变量中。注意,在计算平均成绩时,需要除以总人数。
最后,我们输出总人数、每位学生的总分和三门课的平均成绩。可以使用print函数来实现。
以下是示例代码:
```python
count = 0
students = []
while True:
name = input("请输入学生姓名(输入'q'结束录入):")
if name == 'q':
break
chinese = int(input("请输入语文成绩:"))
math = int(input("请输入数学成绩:"))
english = int(input("请输入英语成绩:"))
total_score = chinese + math + english
count += 1
student = {'姓名': name, '语文': chinese, '数学': math, '英语': english, '总分': total_score}
students.append(student)
chinese_total = 0
math_total = 0
english_total = 0
for student in students:
chinese_total += student['语文']
math_total += student['数学']
english_total += student['英语']
chinese_avg = chinese_total / count
math_avg = math_total / count
english_avg = english_total / count
print("总人数:", count)
for student in students:
print(student['姓名'], "的总分是:", student['总分'])
print("语文平均成绩:", chinese_avg)
print("数学平均成绩:", math_avg)
print("英语平均成绩:", english_avg)
```
希望以上内容能够帮到你!
### 回答3:
为了实现以上需求,我们可以使用循环来反复录入学生的姓名和语数英三门课的成绩。当输入的姓名为'q'时,即可结束成绩录入。
首先,我们定义一个变量来表示学生的总人数,初始值为0。然后,定义一个空列表来存储每名学生的总分。
接下来,进入循环,每次循环开始时,向用户提示输入学生的姓名。如果输入的姓名为'q',则跳出循环。
在每次循环中,我们还需要定义三个变量分别表示学生的语文成绩、数学成绩和英语成绩。通过input函数,我们依次接收用户输入的三门课的成绩,并将其转换为整数类型。然后,将三门课的成绩相加得到总分,并将其存储到之前定义的列表中。
在循环结束后,我们使用len函数来统计学生的总人数,并通过print函数将其输出。接着,通过遍历之前定义的列表,可以计算每名学生的总分,并输出。
最后,我们通过计算列表中三门课程的总分再除以学生总人数,可以得到语数英三门课的平均成绩,并通过print函数输出。
整个程序的逻辑如上所述,下面是这个程序的示例代码:
```python
total_students = 0
total_scores = []
while True:
name = input("请输入学生姓名:")
if name == 'q':
break
else:
total_students += 1
chinese_score = int(input("请输入语文成绩:"))
math_score = int(input("请输入数学成绩:"))
english_score = int(input("请输入英语成绩:"))
total_score = chinese_score + math_score + english_score
total_scores.append(total_score)
print("学生总人数:", total_students)
for i in range(total_students):
print("学生", i+1, "的总分:", total_scores[i])
average_chinese = sum([score for score in total_scores]) / total_students
average_math = sum([score for score in total_scores]) / total_students
average_english = sum([score for score in total_scores]) / total_students
print("语文平均成绩:", average_chinese)
print("数学平均成绩:", average_math)
print("英语平均成绩:", average_english)
```
以上就是一个循环录入学生姓名和语数英三门课成绩,并能统计总人数、每名学员总分以及三门课平均成绩的Python程序。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)