将以下代码进行优化处理,要求能够正常运行,并且最后的输出结果之间要与所在的变量对齐,并且‘文凭’这一栏下的输出结果得是文字而不是数字,请给出python的优化方案
时间: 2024-02-15 13:01:51 浏览: 29
以下是对代码进行优化的方案:
```python
students = [
{'name': '张三', 'age': 20, 'major': '计算机科学', 'diploma': '本科'},
{'name': '李四', 'age': 22, 'major': '数据科学', 'diploma': '硕士'},
{'name': '王五', 'age': 21, 'major': '计算机科学', 'diploma': '本科'},
{'name': '赵六', 'age': 23, 'major': '数据科学', 'diploma': '博士'}
]
# 打印表头
print("{:<10}{:<10}{:<20}{:<10}".format('姓名', '年龄', '专业', '文凭'))
# 打印分割线
print("-" * 50)
# 打印每个学生的信息
for student in students:
print("{:<10}{:<10}{:<20}{:<10}".format(student['name'], student['age'], student['major'], student['diploma'] if student['major'] != '计算机科学' else '文凭'))
# 打印结束线
print("-" * 50)
```
优化方案的具体说明如下:
1. 将每个学生的信息存储在字典中,这样可以更方便地进行操作。
2. 使用字符串格式化的方式进行输出,并使用 `<` 表示左对齐。
3. 对于每一列的宽度进行了调整,以便对齐。
4. 使用 `if` 嵌套语句来判断是否输出“文凭”这一列,如果专业是“计算机科学”,则输出“文凭”字样,否则输出对应的文凭等级。
5. 添加了分割线,使表格更清晰易读。