有没有办法在不使用 f 字符串或 str() 的情况下同时打印 int 和 str?

Is there anyway to print both int and str without using f strings or str()?

我正在尝试实现输出最长行和与之关联的单词的打印。

with open("txt.txt") as file:
    for line in file:
        words = line.split()
        words_count += len(words)
        if maxlines == 0 or len(words) > len(maxlines.split()):
            maxlines = line
        sentences.append(line)

print("Longest line has " + maxlines_len + " words: " + maxlines)

如果我在没有 str() 的情况下声明它的值,该变量将吐出一个类型错误。有没有没有 fstrings 或 str() 的解决方法?

谢谢!

好吧,你不能对字符串和整数求和,但是 print() 乐于接受任意数量的参数并在内部对它们进行字符串化(默认情况下用空格分隔它们;你可以使用 sep= 关键字参数):

print("Longest line has", maxlines_len, "words:", maxlines)

如果使用 f-string 格式是一个选项(不确定为什么不使用它们):

print(f"Longest line has {maxlines_len} words: {maxlines}")