Curious George sees the world
 
python while, import

python while, import

利用一個簡單的猜數字遊戲來學習 Python 中 While 迴圈,IF 判斷式,import 的用法

import random
answer=(random.randint(1,101))
a=0
while True:
    a += 1
    question = int(input('Guess a number(1-100: '))
    if question==answer:
        print ("Right, You guessed it %d times" % a)
        break
    elif question > answer:
        print ("Too High")
    else:
        print ("Too Low")

import random :程式中要使用亂數,必須先 import  random 這個函數。
answer=(random.randint(1,101)) : 利用 random.randint 產生 1~100 之間的亂數,把產生出來的數字放在 answer 變數中
a=0 設定一個變數 a ,其值為0
接下來先看
question = int(input(‘Guess a number(1-100: ‘)) :
用 input 讓使用者可以輸入數字。這裡會產生一行提示字元  “Guess a number(1-100: ”
int 將使用者輸入的文字轉換成數字,必須這樣做等會才可跟亂數比較,否則程式會出現錯誤訊息
將這個數值放在 question 的變數中。
if … elif … else  : 比對使用者輸入的數字與亂數是否吮合。
if 後面接判斷式  question==answer  , 行尾要有『:』
if 後的程式必須縮排,按一個 tab 鍵即可
print (“Right, You guessed it %d times” % a)  ,如果正確的話會 print 一行 Right, You guessed it %d times
行中的 %d 是 字串格式的用法,表示這個地方會放一個數值變數,其值會在字串雙引號結束後的 %中代入,我們這裡代入的是變數 a
break 用來結束 while 迴圈
elif   就是 else if 的縮寫,後面和 if 一樣需有判斷式,else  則是所有判斷不成立時要執行的程式 ,這兩個之後的寫法同 if 均須縮排。

while True:  基本上是個無窮迴圈,程式會一直執行到使用者猜對為止(因為猜對時有一行 breakwhile 後也是接條件,例如 a <= 5, 若這樣寫使用者只以猜 6 次了。
a += 1 ,當迴圈每執行一次就加 1 ,用來計算使用者猜了幾次。Python 不支援  a++ 的寫法。

寫完後執行就有一個猜數字遊戲的程式囉