今天在做編程題的時(shí)候發(fā)現(xiàn)Python的print輸出默認(rèn)換行輸出,并且輸出后有空格。
題目要求輸出
122
而我的輸出是:
1
2
2
于是我百度查到取消print自動(dòng)換行的方法:就是在print的值后邊加逗號(hào),例如print x,
果然,不換行了,但是輸出結(jié)果仍然不對(duì),要求輸出為122,而我的輸出為1 2 2
于是我繼續(xù)百度查方法,發(fā)現(xiàn)Python2和Python3的print方法是不同的。Python2的print不用加()可以直接輸出,例如print 'hello world', Python3則需要加括號(hào) print("hello world"),而且Python3的print方法是有參數(shù)的,比如sep表示字符串之間的連接符,end表示以什么結(jié)尾。如果沒(méi)有設(shè)置參數(shù)默認(rèn)sep=‘ ',end='/n',因此我把我的代碼改為:
print (i,end=''),但是我發(fā)現(xiàn)編譯錯(cuò)誤,因?yàn)槲矣玫氖荘ython2,跑Python2 的print是沒(méi)有參數(shù)的,同理,如果在Python3中使用print x,這種逗號(hào)形式,也是編譯錯(cuò)誤的。
于是我不知道該怎么辦了,繼續(xù)百度查到了:
from __future__ import print_function
只要在程序前加這個(gè)就可以在Python2中使用參數(shù)了。最后終于正確輸出122
后來(lái),我又發(fā)現(xiàn)一種方法就是使用
sys.stdout.write()
我把代碼改為:
sys.stdout.write(str(i))
也能正確輸出122
以上這篇解決Python print輸出不換行沒(méi)空格的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選