利用一個簡單的猜數字遊戲來學習 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: 基本上是個無窮迴圈,程式會一直執行到使用者猜對為止(因為猜對時有一行 break, while 後也是接條件,例如 a <= 5, 若這樣寫使用者只以猜 6 次了。
a += 1 ,當迴圈每執行一次就加 1 ,用來計算使用者猜了幾次。Python 不支援 a++ 的寫法。
寫完後執行就有一個猜數字遊戲的程式囉