帮我编写一个python程序,要求输入班级里五个学生的姓名,年龄,班级,成绩(保留两位有效小数),并用三种不同格式化的方法打印出。
时间: 2024-10-22 18:29:02 浏览: 34
当然可以。首先,我们需要创建一个学生类来存储这些信息,然后编写一个主函数来获取用户输入并打印。以下是使用Python完成这个任务的示例:
```python
class Student:
def __init__(self, name, age, class_name, score):
self.name = name
self.age = age
self.class_name = class_name
self.score = round(score, 2) # 保留两位小数
def print_students_info(student_list, format_1=True, format_2=True, format_3=True):
if format_1:
for student in student_list:
print(f"姓名:{student.name}, 年龄:{student.age}, 班级:{student.class_name}, 成绩:{student.score}")
if format_2:
print("\n美化后的格式:")
for student in student_list:
print(f"{student.name:<15} | 年龄:{student.age:<4} | 班级:{student.class_name:<8} | 成绩:{student.score:.2f}")
if format_3:
print("\nJSON风格的字符串:")
students_json = [dict(name=s.name, age=s.age, class_name=s.class_name, score=s.score) for s in student_list]
print(json.dumps(students_json, indent=4))
# 用户输入部分
students = []
for _ in range(5):
name = input("请输入第{}名学生姓名:".format(_+1))
age = int(input("请输入年龄:"))
class_name = input("请输入班级:")
score = float(input("请输入成绩:"))
new_student = Student(name, age, class_name, score)
students.append(new_student)
# 打印选项
print_students_info(students, format_1=True, format_2=True, format_3=False) # 设置其中一个格式不打印
```
在这个程序中,我们定义了`Student`类来存储学生信息,并提供三个打印函数,分别对应直接输出、美化后的表格格式以及JSON格式。你可以根据需要选择是否打印所有格式。
运行此程序时,请注意将最后的`format_3=False`更改为你想要打印JSON格式的地方。
阅读全文