今天在做編程題的時候發現Python的print輸出默認換行輸出,並且輸出后有空格。
題目要求輸出
122
而我的輸出是:
1
2
2
於是我百度查到取消print自動換行的方法:就是在print的值后邊加逗號,例如print x,
果然,不換行了,但是輸出結果仍然不對,要求輸出為122,而我的輸出為1 2 2
於是我繼續百度查方法,發現Python2和Python3的print方法是不同的。Python2的print不用加()可以直接輸出,例如print 'hello world', Python3則需要加括號 print("hello world"),而且Python3的print方法是有參數的,比如sep表示字符串之間的連接符,end表示以什么結尾。如果沒有設置參數默認sep=‘ ',end='\n',因此我把我的代碼改為:
print (i,end=''),但是我發現編譯錯誤,因為我用的是Python2,跑Python2 的print是沒有參數的,同理,如果在Python3中使用print x,這種逗號形式,也是編譯錯誤的。
於是我不知道該怎么辦了,繼續百度查到了:
from __future__ import print_function
只要在程序前加這個就可以在Python2中使用參數了。最后終於正確輸出122
后來,我又發現一種方法就是使用
sys.stdout.write()
我把代碼改為:
sys.stdout.write(str(i))
也能正確輸出122
以上這篇解決Python print輸出不換行沒空格的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。