if 問題

請問為何這樣得到的結果是12?

a = 5
if (a == 5):
    print('1', end='')
print('2', end='')
1個讚

help(print)

3個讚

print() 在沒有指定 end 參數值的時候,預設是 '\n',也就是換行。

當你指定 end='' 時,就不會換行。

所以,你的程式和以下的程式碼,執行結果相同:

print('1', end='')
print('2', end='')

附個 換行 & 不換行 的 print() 集,方便你了解。

python 官方參考文件(中文)

3個讚

因為你沒有做 tab 或 line break (跳行) 處理,所以就會連著印,你可以試著在第三行的 end = ‘’ 換成 end = ‘\t’ 或 end = ‘\n’ 試看看,就會有你原先預期的跳行功能,print 輸出指令,預設是不帶跳行的,跳行指令得你自己加入,細節可參考這裡: 7. 輸入和輸出 — Python 3.10.5 說明文件

3個讚

感謝各位的解答,讓我更了解 end, /n, /t 應用

另外,我發現我問題描述太簡略沒有清楚表達我的意思。
我本來想問,為何會兩個print都有結果出來,然後我剛剛突然想通了

第1.2.3行是一個block,if條件成立,所以print 1
第4行就是直接執行print,所以print2
因為我第3行加了 end=‘’,表示不換行,所以最後結果顯示12

以上,謝謝

提醒一下,不是 /n 和 /t 喔,列印控制碼是反斜線起頭,是 \n (跳行) 和 \t ( tab,一般約等於跳四個空白左右,但不是絕對,基本上 tab 的跳印,是依據 IDE 設定的),寫反的話,是沒作用的~

2個讚