2019年8月4日 星期日

手把手學Python - 最基礎的輸出(print)

這次除了 IDLE 整合式的環境之外, 我們也要開始使用檔案的方式, 真的去寫可以重複使用的程式。如果你忘了, 請再回去看看之前的文章。

這次, 我們要來學最基礎的輸出函式 --- print()。我們先在 IDLE 裡試著執行下列的指令

指令意義結果
print(123)印出數字 123123
print("123")印出字串 "123"123
print(123, 456)印出數字 123 與 456123 456
print("123", 456)印出字串 123 與數字 456123 456
print("123", "456")印出字串 123 與 456123 456



觀察上面的範例, 我們會發現兩件事
  1. 字串和數字在 print 印出來時, 結果是相同的
  2. 兩個不同的字串或數字, 可以利用逗號(,) 分隔
當然, 我們也可以利用變數一起處理, 我們試試下列的指令

name = "dunst"
print("My name is ", name)

上面兩行指令, 第一行指令

name = "dunst"

功能是把 "dunst" 這個字串指給 name 這個變數。而第二行指令

print("My name is ", name)

則是分別印出字串 "My name is " 以及 name 這個變數的值(字串 "dunst")。所以你會看到的結果是

My name is  dunst


有一個小地方可以注意的是 "is" 和 "dunst" 兩個字中間隔了兩個空白, 第二個空白是逗號造成的, 所以如果你想要讓空白變成只有一個, 你有兩個方法可以做到。
  1. 把 "My name is " 改成 "My name is", 這樣字後面的空格就不見了。
  2. 把指令 print("My name is ", name) 改成 print("My name is " + name), 這樣就會讓兩個字串結合成一個字串。


如果上半段, 你沒有問題, 那麼, 我們就來看看下半段。

還記得你寫的第一支程式 test1.py 嗎?

a = input("Please input your name : ")
print("Hello,", a)

和上一篇的手把手學Python - 最基礎的輸入(input) 一起看, 你應該就能很輕鬆的解讀這支程式吧。



執行這支程式(python test1.py)後, 第一行的

a = input("Please input your name : ") 

會給你一個提示號 "Please input your name : ", 然後就停在那裡等待輸入。當輸入 dunst 後, 就把 "dunst" 這個字串指定給 a 這個變數。所以當執行到第二行

print("Hello,", a)

就會看到結果

Hello, dunst

如果這個程式你能看得懂, 那麼, 請試著寫一支新的程式, 分別輸入兩個整數 a 和 b, 然後, 把兩個數字相加之後印出來。在往下看之前, 先想想, 你會怎麼寫。不過, 有件事要提醒你, 你要輸入 a 時, 別忘了 input() 給你的是字串, 所以你要利用 int() 這個函數把它轉成整數。

a = int(input("Please input a = "))

如果你還是想不出來, 或者你已經寫完了, 不妨就看看下面這個範例(test2.py)

a = int(input("Please input a = "))
b = int(input("Please input b = "))
c = a + b
print(a, "+", b, "=", c)

當然, 這樣子的結果就很容易看到了



當然, 這支程式的解法不唯一, 我們來看看兩個不一樣的寫法。

a = int(input("Please input a = "))
b = int(input("Please input b = "))
print(a, "+", b, "=", a + b)

像這樣的寫法, 我們除了可以少一個變數 c 的使用, 也可以少一行指令。所以隨著我們學的程式愈來愈複雜, 就會有愈多不同的寫法。

還記得我們在前面手把手學Python - 最簡單的資料型別 整數(int) 與 字串(str)的問題(四捨五入法), 我給的答案是

(a + 0.5) * 10 // 10

這樣子就能把 a 四捨五入到整數。如果你沒有問題, 請試著寫一支程式, 輸入 a 和 b 兩個整數, 然後輸出 a / b 之後, 四捨五入到小數下第二位。

沒有留言: