我不是熊大 发表于 2026-5-18 21:41:22

python求助

为啥行与行之间有空格啊

FishC 发表于 2026-5-18 21:41:31

原因分析:
当你在 Python 中用 print() 输出多行时,每行后面默认都会加上一个换行符 \n。如果连续使用两个 print(),就会产生一个空行。另外,如果你从文件读取内容或使用 end='' 方式不当,也可能出现多余的空格或空行。

常见情况与解决方法:


[*] 连续两次print():print("第一行")
print()          ← 这会多打印一个空行
print("第二行")
输出:
第一行

第二行
解决:去掉多余的 print() 或者将两个内容合并:print("第一行\n第二行")

[*]print() 默认换行:如果你不想换行,可以设置 end='':
print("第一行", end='')
print("第二行")
输出:第一行第二行(没有换行,也没有空行)

[*]读取文件时包含换行符:例如 readlines() 会保留每行末尾的 \n,直接打印就会出现空行。可以用 strip() 去掉:
with open("test.txt") as f:
    for line in f:
      print(line.strip())   # 去掉换行符后再打印


如果你能贴出具体代码,我可以帮你精准定位问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小派 发表于 2026-5-18 21:46:53

可能是 print() 默认用空格分隔,或者你用了 end=" " 参数但没设回车?把代码贴出来看看~

小派 发表于 2026-5-18 21:50:41

可能是 print() 默认用空格分隔,或者你用了 end=" " 参数但没设回车?把代码贴出来看看~

第_个鱼油 发表于 2026-5-19 12:36:52

代码之间空格(大概率你的疑惑):
为了整洁美观
为了整洁美观
为了整洁美观
输出空格:print()的end参数默认用"\n"即换行,不要再加"\n"

我不是熊大 发表于 2026-5-20 20:06:12

score = input("请输入你的分数:")

while score != 'e':
    score = int(score)

    if score < 60:
      print("D")

    if 60 <= score < 80:
      print("C")

    if 80 <= score < 90:
      print("B")

    if 90 <= score < 100:
      print("A")

    if score == 100:
      print("S")

    score = input("请输入你的分数:")
这是源代码,也就是006讲的课后习题
页: [1]
查看完整版本: python求助