从多个打印语句打印到同一行

2024-10-01 07:34:48 发布

您现在位置:Python中文网/ 问答频道 /正文

更新:它来了!尽管如此,它仍然存在一些问题。我需要行号和表扬星号打印在分数的同一行上,这是不可能的

代码如下:

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%

谢谢你们的帮助,伙计们


Tags: oftestcomonenumintscoreprint
1条回答
网友
1楼 · 发布于 2024-10-01 07:34:48

这就是你要找的吗?我不确定我是否理解正确

def main():
    print("#\tScore\tCommendation\n              ")

    num_records = 0
    total_scores = 0

    with open("student_test_scores.txt", "r") as fil_inp_stu:
        one_score = fil_inp_stu.readline()

        while one_score != "":
            num_records += 1

            one_score_int = int(one_score)
            total_scores += one_score_int

            if one_score_int > 100:
                print(f"\t{one_score}*")
            else:
                print(f"\t{one_score}")

            one_score = fil_inp_stu.readline()

    avg_score = total_scores // num_records

    print(
        f"Number of records: {num_records}"
        f"Total scores: {total_scores}"
        f"Average score: {avg_score}"
    )


main()

请注意,我添加了一个上下文管理器(带有语句),以简化并使其更安全。如果您的代码在到达.close()行之前崩溃,那么使用open和close语句都有可能导致文件出现问题

相关问题 更多 >