打印()到上一行?

时间:2014-11-02 08:33:23

标签: python python-3.x

我需要写入前一行的命令,比如print()而没有\ n。

以下是一些示例代码:

a=0

print("Random string value")

if a==0:
    print_to_previous_line("is random")

和输出

Random string value is random

我知道我可以像print(“string”,value)那样在同一个打印命令中使用多个不同的东西,但这不是答案。理由太乱了,不能在这里解释,但这种“打印到上一行”将是完全正确的答案。那么它在现实中会是什么呢?

5 个答案:

答案 0 :(得分:7)

在Python 3中,您可以通过向end=""提供print()来取消自动换行:

print("Random string value", end="")
if a==0:
    print(" is random")
else:
    print()

请参阅How to print without newline or space?

答案 1 :(得分:2)

我建议使用print语句,就像这样

print("This is a text",end=" ")

end =“”表示字符串不是'完整',下一个print语句需要在同一行中。字符串“”表示它应该在此String和下一个print语句中的String之间留一个空格。或者你也可以使用end =“”。 我希望这有帮助!

答案 2 :(得分:1)

我建议首先打印这样的声明:

print("Some stuff here", end=" ")

然后,我将使用以下if语句:

if stuff:
     print("Text you want displayed on same line")
else:
     print("")
     print("Text you want displayed on next line")

答案 3 :(得分:0)

有时您无法控制继续执行打印语句(或这样做可能很困难)。然后,它将:

  • 转到上一行的\033[F
  • 沿着ncols前进:\03[{ncols}G
  • 从那里开始打印。

print(f"\033[F\033[{ncols}G Space-lead appended text")

我还没有找到转到上一行“结束”的方法,但是您可以指定一个值ncols,该值大于上一行的长度。如果比前一行短了 ,您最终将覆盖那里的内容。

答案 4 :(得分:0)

def Fib(n):
    a,b = 0,1
    c=','
    while(a<n):
       print(a, end='')   # Way to print in same line
       a,b = b, a+b
       if a<n:
         print(c, end=',') # Way to ensure keep printing in same line
Fib(1000)