跳到內容

猜數字遊戲

前面幾章學的東西,這裡第一次真的組在一起做一個小遊戲:電腦隨機想一個數字,你來猜,它會提示你太大還是太小,直到你猜中。

會用到這幾樣:

  • random.randint():讓電腦隨機選一個答案。
  • while 迴圈:只要還沒猜對,就一直讓你猜。
  • if / elif:比對你的猜測和答案,給出提示。
  • input()int():讀進你輸入的數字。

按「執行」,程式會隨機選一個 1 到 100 的答案。在輸入框打一個數字送出,它會告訴你太大或太小;照著提示調整,直到猜中為止:

import random
answer = random.randint(1, 100)
guess = 0
while guess != answer:
guess = int(input("猜一個 1 到 100 的數字:"))
if guess < answer:
print("太小了")
elif guess > answer:
print("太大了")
print("答對了!答案就是", answer)

因為答案是隨機的,每次按「重新執行」都會換一個新的答案。同一場遊戲裡繼續猜,答案不會變。

answer = random.randint(1, 100) 先讓電腦在 1 到 100 之間挑一個數,存進 answer

while guess != answer: 的意思是「只要猜的和答案不一樣,就繼續」。一開始 guess 設成 0,一定不等於答案,所以至少會問一次。

迴圈裡先讀進這次的猜測,再用 if / elif 比大小給提示。等到某次 guess 剛好等於 answerwhile 的條件不再成立,迴圈結束,跳到最後印出「答對了」。

試著把程式改成這樣,練習一下:

  • 記錄總共猜了幾次,最後一起印出來。
  • 限制最多只能猜 7 次,超過就公布答案。
  • 把範圍從 1 到 100 改成 1 到 1000。