如何打印文件中一行的长度(无换行符)

How to print length of a line in a file (sans newlines)

我有一个作业,我需要在从文件中删除换行符后输出一行的第一个字符加上该行的长度。

这是我的代码:

with open("/usercode/files/books.txt", "r") as f:
    for line in f.readlines():
        print(line[0] + str(len(line)).strip('\n'))

文件内容如下:

Some book
Harry Potter
To Kill a Mockingbird

输出应该是:

S9
H12
T21

但我得到的输出是:

S10
H13
T22

为什么程序错误地打印了一个字符的长度太长?

您调用 len 然后将值转换为字符串,然后将其剥离,这不是您想要的。尝试:

with open("/usercode/files/books.txt", "r") as f:
    for line in f.readlines():
        print(line[0] + str(len(line.strip('\n'))))