我是编码新手,我正在尝试创建一个项目,列出成绩百分比及其对应的字母。不过,我在格式化它以使其看起来不错时遇到了很多麻烦。这是我目前拥有的大部分代码:
(编辑以显示更多数据)
def main():
grade_list = create_grades()
print_list(grade_list)
def create_grades():
grade_list = []
for student in range(35):
percentage_grade = round(random.uniform(50, 100), 2)
letter_grade = get_grade(percentage_grade)
dumb_tuple = (percentage_grade, letter_grade)
grade_list.append(dumb_tuple)
list_title = "Grades for Class With a Cool Name"
def print_list(grade_list):
print(list_title)
print("{:20}".format("Grade Percentage"), "Letter Grade")
for student in grade_list:
print('{:10}'.format(student[0]), "{:>17}".format(student[1]))
这是结果输出:
Grades for Class With a Cool Name
Grade Percentage Letter Grade
93.44 A
99.58 A
67.37 D+
79.07 C+
64.75 D
79.42 C+
97.2 A
73.37 C
86.33 B
83.56 B
98.89 A
68.74 D+
76.03 C
63.75 D
77.43 C+
51.32 F
53.18 F
61.56 D-
65.4 D
94.48 A
85.96 B
92.62 A-
90.51 A-
91.7 A-
50.76 F
67.93 D+
52.98 F
81.85 B-
60.91 D-
84.71 B
63.74 D
61.64 D-
74.21 C
97.99 A
72.95 C-
我现在要做的就是让字母排成一行,而不是在值加上正负值时让它们变成一条锯齿线。我知道这似乎是一个相对简单的问题,但我的谷歌研究对我没有太大帮助,因为我还不了解很多代码。任何回复都有帮助。
最佳答案
如果 pandas
适合你:
import pandas as pd
df = pd.DataFrame(grade_list, columns=['Grade Percentage', 'Letter Grade'])
print(list_title)
print(df)
关于python - 在 Python 中格式化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58703773/