用Python随机函数生成1-100整数范围内的50个学生成绩,用列表保存,分别统计不及格和及格学生的人数和平均值
时间: 2024-02-23 19:59:58 浏览: 25
好的,我可以为您提供代码来解决这个问题:
```python
import random
# 生成50个随机数
grades = [random.randint(1, 100) for _ in range(50)]
# 统计不及格和及格学生人数
fail_count = len([grade for grade in grades if grade < 60])
pass_count = len(grades) - fail_count
# 统计不及格和及格学生平均分
fail_avg = sum([grade for grade in grades if grade < 60]) / fail_count if fail_count != 0 else 0
pass_avg = sum([grade for grade in grades if grade >= 60]) / pass_count if pass_count != 0 else 0
print("不及格人数:", fail_count)
print("及格人数:", pass_count)
print("不及格平均分:", fail_avg)
print("及格平均分:", pass_avg)
```
这段代码会生成50个1-100的随机数,并将它们保存到一个列表中。然后,它使用列表解析来统计不及格和及格学生的人数。最后,它使用条件语句计算不及格和及格学生的平均分,并打印出结果。
相关问题
用Python代码写,用随机函数生成1到100整数范围内的50个学生成绩,用列表保存生成的成绩,分别统计不及格和及格学生的人数与平均分
好的,以下是Python代码实现:
```python
import random
# 生成50个学生成绩,存入列表
scores = [random.randint(1, 100) for _ in range(50)]
# 统计不及格和及格学生的人数
fail_num = len([score for score in scores if score < 60])
pass_num = len(scores) - fail_num
# 计算平均分
avg_score = sum(scores) / len(scores)
# 输出结果
print("不及格学生人数:", fail_num)
print("及格学生人数:", pass_num)
print("平均分:", avg_score)
```
注意,以上代码中使用了Python的列表解析式,用于快速生成列表。同时,`_`表示一个临时的、不需要的变量,用于循环中的计数。
python输入班级若干个学生的成绩,输入-1结束输入,成绩假设均为整数。 计算班级的平均成绩、及格人数和不及格人数。
好的,这是一道关于Python语言方面的题目。我可以为您提供代码实现。以下是可能的解决方案:
```
# 初始化变量
total_score = 0
num_of_students = 0
num_of_pass = 0
num_of_fail = 0
# 循环输入成绩
while True:
score = int(input("请输入学生成绩:"))
if score == -1:
break
# 将成绩加入总成绩中
total_score += score
# 记录学生个数
num_of_students += 1
# 判断是否及格
if score >= 60:
num_of_pass += 1
else:
num_of_fail += 1
# 计算平均成绩
if num_of_students > 0:
average_score = total_score / num_of_students
# 输出结果
print("班级平均成绩为:", average_score)
print("及格人数为:", num_of_pass)
print("不及格人数为:", num_of_fail)
```
请注意,这只是一种可能的实现方式。如果您有任何问题或疑问,可以随时问我。