標籤:

怎樣使 Python 輸出時不換行?

教程上說用逗號就可以了。為什麼我用了逗號還是沒有用呢?我用的是python3.2 。在print後面要加圓括弧。

print ("I"),

print ("love"),

print ("you.")

input ()


import sys
sys.stdout.write(".")

# 在 python 2.x 下用 python 3 的 print
from __future__ import print_function
print(".", end="")

# ps. 這種寫法並不是正確的,會在末尾多一個空格
print ".",


python 2.x, print 不換行

&>&>&> print x,

python 3.x print 不換行

&>&>&> print(x, end="")


print(*objects, sep=" ", end="
", file=sys.stdout, flush=False)

這是 print() 的原型。默認是以
結尾,即換行。把
換掉就行。


直接寫stdout或許是個裝13的方案


numStars = int(input("How many stars do you want?
"))
for i in range (1, numStars + 1):
print ("*",end="")

我用的是python3.5.2,print語句默認是換行,在你輸入的後面加上 ,end=" " 即可

運行結果如下:

numStars = int(input("How many stars do you want?
"))
for i in range (1, numStars + 1):
#print ("*",end="")
print ("*")

如果運行上面的代碼,同樣輸入5,結果如下


http://lmgtfy.com/?q=python%203%20newline%20print


在末尾加一個 逗號 就可以了。

等你輸完了,你又想換行的時候,單獨一個 print 就換行了。試試看。


不說上面哪個答案最好,給你幾個選擇,你試一下看效果。

import sys,time

#1

for i in range(5):

time.sleep(1)

print("#",end="")

#2

for i in range(5):

time.sleep(1)

print("#",end="")

print("
")

for i in range(5):

time.sleep(1)

sys.stdout.write("#")

sys.stdout.flush()

這三段代碼執行一下,結果如下:

1 會在5秒過後一起輸出:#####,而不是一秒輸出一個#

2 會每秒輸出一個# 和 "
"

3 會每秒輸出一個#

stdout不僅逼格高,而且最好用。

贊 @gold han 一個


python2隻需要在輸出的最後加逗號即可,python3將print變成了函數,print後必須加括弧,print("輸出",end="")


import sys,time

ing = ["-","\","|","/"]
i = 0
x = 0
while 1:
sys.stdout.write(ing[i] + "
")
sys.stdout.flush()
time.sleep(0.1)
i += 1
x += 1
if i == 3:
i = 0
if x == 20:
break


print "I","love","you."


print ("hello,",end=" 』)

print ("world!")

hello,world!


print "Hello"+" "+"World"


推薦閱讀:

Python 的縮進有多重要?
Python沒有常量是不是不夠安全的設計?
Python的Dictionary的花括弧,應該換行嗎?
一行 Python 能實現什麼喪心病狂的功能?
Python換行符問題:
還是

TAG:Python |