py统计一个班的平均成绩,当输入“-1”时,输出平均成绩。
时间: 2024-02-13 12:04:30 浏览: 24
好的,以下是一个实现这个功能的 Python 代码:
```python
# 初始化总成绩和学生人数
total_score = 0
num_students = 0
# 循环读取成绩
while True:
score = input("请输入学生的成绩:")
if score == "-1":
break
total_score += int(score)
num_students += 1
# 计算平均成绩
if num_students > 0:
avg_score = total_score / num_students
print("班级平均成绩为:", avg_score)
else:
print("没有输入成绩。")
```
代码的思路是,通过一个 while 循环读取学生成绩,每输入一个成绩就计算总成绩和学生人数,当输入为 -1 时跳出循环。最后如果有输入成绩,则计算平均成绩并输出,否则输出提示信息。
相关问题
用函数编程统计平均成绩。要求在主函数中输入学生成绩,输入负数时,结束输入,调用子函数Average()计算平均成绩,并输出结果。
好的,这是一个简单的Python程序,实现你的需求:
```python
def Average(scores):
if len(scores) == 0:
return 0
else:
return sum(scores) / len(scores)
def main():
scores = []
while True:
score = float(input("请输入学生成绩:"))
if score < 0:
break
scores.append(score)
average_score = Average(scores)
print("平均成绩为:", average_score)
if __name__ == '__main__':
main()
```
你可以将这段代码保存为一个Python文件,比如 `average_score.py`,然后在命令行中运行它,输入学生成绩即可。程序会在输入负数后计算平均成绩并输出结果。注意,程序假设输入的成绩都是有效的浮点数,如果输入非法字符可能会导致程序异常。
设计一个用于统计一个班学生成绩的程序,需要完成以下功能: 1)输入学生成绩信息 2)按总平均成绩排序 3)按学号排序 4)输出学生成绩表 5)结束退出 根据以上描述,编写程序输出功能菜单,输入菜单选择,根据选择执行对应功能,每个功能只显示该功能名称,例如选2,则输出:“现在执行按总平均成绩排序功能!”
好的,这是一个比较典型的学生成绩管理系统,我可以帮您设计。以下是程序代码:
```python
# 定义学生类
class Student:
def __init__(self, name, id, scores):
self.name = name
self.id = id
self.scores = scores
# 定义输出格式
def __str__(self):
return f'{self.id}\t{self.name}\t{self.scores["Chinese"]}\t{self.scores["Math"]}\t{self.scores["English"]}\t{self.scores["Total"]:.2f}'
# 定义主程序
def main():
students = []
while True:
# 输出菜单
print("1. 输入学生成绩信息")
print("2. 按总平均成绩排序")
print("3. 按学号排序")
print("4. 输出学生成绩表")
print("5. 结束退出")
# 获取用户选择
choice = input("请输入菜单编号:")
# 执行对应功能
if choice == "1":
name = input("请输入学生姓名:")
id = input("请输入学生学号:")
Chinese = float(input("请输入语文成绩:"))
Math = float(input("请输入数学成绩:"))
English = float(input("请输入英语成绩:"))
total = Chinese + Math + English
scores = {"Chinese": Chinese, "Math": Math, "English": English, "Total": total}
student = Student(name, id, scores)
students.append(student)
print("学生成绩信息输入成功!\n")
elif choice == "2":
students.sort(key=lambda x: x.scores["Total"], reverse=True)
print("现在执行按总平均成绩排序功能!\n")
elif choice == "3":
students.sort(key=lambda x: x.id)
print("现在执行按学号排序功能!\n")
elif choice == "4":
# 输出表头
print("学号\t姓名\t语文\t数学\t英语\t总分")
for student in students:
print(student)
print("\n")
elif choice == "5":
print("程序结束,谢谢使用!")
break
else:
print("菜单编号输入有误,请重新输入!\n")
if __name__ == '__main__':
main()
```
您可以将代码保存为一个.py文件并运行,程序会依次输出菜单,根据用户选择执行对应功能。其中,学生信息通过`Student`类进行封装,可以更方便地进行排序和输出。