請問為何這樣得到的結果是12?
a = 5
if (a == 5):
print('1', end='')
print('2', end='')
請問為何這樣得到的結果是12?
a = 5
if (a == 5):
print('1', end='')
print('2', end='')
help(print)
print() 在沒有指定 end 參數值的時候,預設是 '\n'
,也就是換行。
當你指定 end=''
時,就不會換行。
所以,你的程式和以下的程式碼,執行結果相同:
print('1', end='')
print('2', end='')
附個 換行 & 不換行 的 print() 集,方便你了解。
因為你沒有做 tab 或 line break (跳行) 處理,所以就會連著印,你可以試著在第三行的 end = ‘’ 換成 end = ‘\t’ 或 end = ‘\n’ 試看看,就會有你原先預期的跳行功能,print 輸出指令,預設是不帶跳行的,跳行指令得你自己加入,細節可參考這裡: 7. 輸入和輸出 — Python 3.10.5 說明文件
感謝各位的解答,讓我更了解 end, /n, /t 應用
另外,我發現我問題描述太簡略沒有清楚表達我的意思。
我本來想問,為何會兩個print都有結果出來,然後我剛剛突然想通了
第1.2.3行是一個block,if條件成立,所以print 1
第4行就是直接執行print,所以print2
因為我第3行加了 end=‘’,表示不換行,所以最後結果顯示12
以上,謝謝
提醒一下,不是 /n 和 /t 喔,列印控制碼是反斜線起頭,是 \n (跳行) 和 \t ( tab,一般約等於跳四個空白左右,但不是絕對,基本上 tab 的跳印,是依據 IDE 設定的),寫反的話,是沒作用的~