更新:它来了!尽管如此,它仍然存在一些问题。我需要行号和表扬星号打印在分数的同一行上,这是不可能的
代码如下:
def main():
fil_inp_stu = open("student_test_scores.txt", "r")
#Variables
num_rec = 0
num_com = 0
per_com = 0
total_scores = 0
avg_scores = 0
print("#\tScore\tCommendation\n----------------------------")
one_score = fil_inp_stu.readline()
while one_score != "":
one_score_int = int(one_score)
print("\t", one_score_int)
num_rec = num_rec + 1
print(f"{num_rec}:")
one_score = fil_inp_stu.readline()
total_scores += one_score_int
avg_scores = total_scores / num_rec
per_com = num_com / num_rec
num_com = one_score_int >= 100
while num_com:
print("\t\t\t*")
break
print(f"\nNumber of records: {num_rec}")
print(f"Average test score: {avg_scores:.2f}")
print(f"Number of commendations: {num_com}")
print(f"Percentage of commendations: {per_com:.2%}")
fil_inp_stu.close()
main()
以下是输出:
# Score Commendation
----------------------------
69
1:
9
2:
129
3:
*
131
4:
*
146
5:
*
109
6:
*
71
7:
69
8:
18
9:
129
10:
*
94
11:
53
12:
25
13:
Number of records: 13
Average test score: 80.92
Number of commendations: False
Percentage of commendations: 0.00%
谢谢你们的帮助,伙计们
这就是你要找的吗?我不确定我是否理解正确
请注意,我添加了一个上下文管理器(带有语句),以简化并使其更安全。如果您的代码在到达.close()行之前崩溃,那么使用open和close语句都有可能导致文件出现问题
相关问题 更多 >
编程相关推荐