iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
AI/ ML & Data

From Python Beginner To AI Engineer系列 第 11

有沒有更漂亮的輸出方式?

  • 分享至 

  • xImage
  •  

字串

前一篇文章最後把總秒數換算成週日時分秒,一直以來我們用來顯示運算結果的方式都是:

>>> w, d, h, m, s
(3, 5, 17, 23, 31)

乍看之下,其實不太確定每個數字代表什麼意思,能不能用一個可讀性更高的方式來展現運算結果呢?例如加上一些文字描述之類的,在 Python 裡面,用雙引號 " 或者 ' 夾起來的一串文字就是字串,例如:

>>> "你好!"
'你好!'
>>> '再見!'
'再見!'

雙引號與單引號原則上並沒有區別,在 Colab 裡面會一律使用單引號來表示這個輸出是一段字串。

筆者習慣使用雙引號表示字串,因為在其他程式語言可能只接受雙引號。

如果不想要 Colab 顯示單引號,可以使用 print() 函式,這樣就只會輸出字串內容:

>>> print("今天天氣真好 🤗")
今天天氣真好 🤗

在字串裡面放表情符號也是沒問題的 💪

那要如何將字串與運算結果放在一起顯示呢?最簡單的方法是在 print() 裡面用逗號隔開每個變數與字串:

>>> s = 2309011
>>> m, s = divmod(s, 60)
>>> h, m = divmod(m, 60)
>>> d, h = divmod(h, 24)
>>> w, d = divmod(d, 7)
>>> print(w, "週", d, "天", h, "時", m, "分", s, "秒")
3 週 5 天 17 時 23 分 31 秒

這樣是不是一目瞭然好看多了 👍

print() 經常被用來除錯 (Debug),也就是尋找程式碼裡面的錯誤,例如將時間換算的中間值輸出:

>>> s = 2309011
>>> m, s = divmod(s, 60)
>>> print(m, s)
>>> h, m = divmod(m, 60)
>>> print(h, m)
>>> d, h = divmod(h, 24)
>>> print(d, h)
>>> w, d = divmod(d, 7)
>>> print(w, d)
38483 31
641 23
26 17
3 5

print() 讓我們不需要把變數放在最後一行,也能在一個格子內輸出多行資訊。

自我練習

嘗試結合 For 迴圈與 print(),計算從 1 累加到 10 並且輸出中間的計算過程。

完整的程式碼放在此 Colab 裡面供各位參考。


上一篇
這些小括號是什麼?
下一篇
稍微進階的列舉用法
系列文
From Python Beginner To AI Engineer31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言