print 與 input

標準輸出

我們知道,最簡單輸出到螢幕的方法就是用 print 函式,任何基本的資料都能用 print 輸出,甚至我們可以用逗號去一次輸出多個資料:

print('hello world')
print(1, 2, 3)
print('dokelung', 27)
print([1, 2, 3])
hello world
1 2 3
dokelung 27
[1, 2, 3]

但有個討厭的狀況是,Python 的列印會自動換行,那是因為這個函數有一個參數叫做 end,指的是印完之後在行尾的結束字元,而 end 的預設值是 \n,所以當今天需要不斷行地列印時,我們需要將參數 end 設定為 ' ',:

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

如此我們就不會被強制斷行了。

標準輸入

那要如何輸入呢? 使用input:

# guess.py

answer = 6
while True:
    str_num = input('請輸入一個1-10之間的整數:')
    int_num = int(str_num)
    if int_num==answer:
        print('猜中拉!')
        break

這邊展示了一個完整的例子,我們設計了一個很簡單的猜數字,input 函式會讓使用者能從鍵盤輸入,該輸入我們將他存到 str_num 這個變數之中,在 input() 內的字串是我們給使用者的輸入提示。

這邊有一點要注意,任何輸入 (不管你輸入的是 hello 或是 123) 都會被當成字串,而使用 int 函式可以幫助我們將字串轉為整數。

如果輸入的數字跟答案相符,我們會告訴使用者猜中了,並且中斷迴圈,結束程式,否則這個無窮迴圈會無止盡地要求使用者輸入數字,直到猜對答案或是手動中斷程式為止。

我們可以將這個檔案運行來試試看:

$ python guess.py

以下是可能的測試結果:

請輸入一個1-10之間的整數:9
請輸入一個1-10之間的整數:1
請輸入一個1-10之間的整數:4
請輸入一個1-10之間的整數:6
猜中拉!

results matching ""

    No results matching ""