各位前輩好,我在解下列題目的時候
for i in range (1, 5):
for j in range (1, 5):
if j==4:
print("\t", i*j)
else:
print("\t", i*j, end='')
得到的結果是這樣:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
意外發現 python 竟然會自動對齊,在雙位數的時候,tab 會自動變小,讓我很意外。
我另外試了 vscode 也得到一樣的結果,還有 macOS 內建的 Notes 也是。
但是 hackmd 就不會對齊,他的 tab 都是 4 格
1 2 3 4
5 6 7 8
9 10 11 12
請問一下為何會有這種現象呢?我不太知道這該如何查資料,感謝各位前輩了!
對電腦而言
tab 只是另一個可以用鍵盤輸入的字元(ASCII code 9)
跟空白鍵(ASCII code 32)差不多
對程式而言,只有兩種角色
1.產生 tab 字元的程式,例如:python
2.顯示(處理) tab 字元的程式,例如:command line console, Microsoft word, vs code..
你看到的「自動變小」和「自動排版」
都是第2種的設計
跟第1種無關
在寫程式的時侯
有一個蠻有趣的歷史爭議,就是
「程式的縮排該用 tab 鍵還是 2/3/4 個 spaces 鍵」
無聊時可以看看