怎樣使 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 |