如何在 Python 中不使用换行符进行打印?


通常,从 C/C++ 切换到 Python 的人想知道如何在 python 中打印两个或多个变量或语句而不进入新行。由于默认情况下 python print() 函数以换行符结尾。如果您使用 print(a_variable) Python 有一个预定义的格式,那么它会自动转到下一行。

例如:

  • Python3
print("geeks")
print("geeksforgeeks")

这将导致:

geeks
geeksforgeeks

但是有时候可能会出现我们不想跳到下一行而是想在同一行打印的情况。那我们能做什么呢?

例如:

Input : [geeks,geeksforgeeks]
Output : geeks geeksforgeeks

Input : a = [1, 2, 3, 4]
Output : 1 2 3 4

此处讨论的解决方案完全取决于您使用的 python 版本。

在 Python 2.x 中不使用换行符进行打印

  • Python
# Python 2 code for printing
# on the same line printing
# geeks and geeksforgeeks
# in the same line

print("geeks"),
print("geeksforgeeks")

# array
a = [1, 2, 3, 4]

# printing a element in same
# line
for i in xrange(4):
    print(a[i]),

输出

geeks geeksforgeeks
1 2 3 4

在 Python 3.x 中不带换行符打印

# Python 3 code for printing
# on the same line printing
# geeks and geeksforgeeks
# in the same line

print("geeks", end =" ")
print("geeksforgeeks")

# array
a = [1, 2, 3, 4]

# printing a element in same
# line
for i in range(4):
    print(a[i], end =" ")

输出

geeks geeksforgeeks
1 2 3 4

在不使用 for 循环的情况下在 Python 3.x 中打印无换行符

  • Python3
# Print without newline in Python 3.x without using for loop

l = [1, 2, 3, 4, 5, 6]

# using * symbol prints the list
# elements in a single line
print(*l)

#This code is contributed by anuragsingh1022

输出

1 2 3 4 5 6

不换行打印使用 Python sys 模块

要使用 sys 模块,首先,使用 import 关键字导入模块 sys。然后,使用 sys 模块中可用的 stdout.write() 方法来打印字符串。

它只适用于字符串如果你传递一个数字或一个列表,你会得到一个 TypeError。

  • Python3
import sys

sys.stdout.write("GeeksforGeeks ")
sys.stdout.write("is best website for coding!")

输出

GeeksforGeeks is best website for coding!


原文链接:codingdict.net