Python 高低遊戲


高低遊戲是一款經典且有趣的猜數字遊戲,它挑戰玩家在一個指定範圍內猜測隨機生成的數字。透過使用 Python 程式語言實現此遊戲,初學者可以在建立互動且令人愉快的遊戲體驗的同時獲得寶貴的編碼經驗。

在本文中,我們將探討使用 Python 建立高低遊戲的逐步過程,並在此過程中提供詳細的解釋和程式碼示例。無論您是尋求提升技能的新手程式設計師,還是隻是在尋找一個有趣的編碼專案,本文都將指導您完成開發一個功能齊全的高低遊戲,該遊戲將吸引和娛樂所有年齡段的玩家。

理解規則

在深入實施之前,讓我們更深入地瞭解高低遊戲的規則。遊戲從在一個預定義的範圍內(例如 1 到 100 之間)生成一個隨機數開始。玩家的目標是猜出這個隨機生成的數字。每次猜測後,遊戲都會提供反饋,說明猜測的數字是高於還是低於實際數字。根據此反饋,玩家調整後續猜測。玩家繼續猜測,直到找到正確的數字。

設定遊戲

為了構建高低遊戲,我們必須首先建立一些準備元素。在生成隨機數之前,我們必須首先匯入 `random` 模組。我們還定義了將用於生成隨機數的引數。讓我們將下限設定為 1,上限設定為 100。我們還初始化 `number_of_guesses` 變數,該變數將用於跟蹤玩家做出的總猜測次數。

import random

lower_bound = 1
upper_bound = 100
number_of_guesses = 0

生成隨機數

為了在給定範圍內建立一個隨機數,我們可以使用 `random` 模組中的 `random.randint()` 函式。此函式將下限和上限作為引數,並返回它們之間的隨機整數。

random_number = random.randint(lower_bound, upper_bound)

獲取使用者輸入

為了允許玩家進行猜測,我們需要捕獲他們的輸入。我們透過使用 `input()` 函式來實現此目的,該函式提示玩家輸入一個數字。由於 `input()` 函式返回一個字串,因此我們使用 `int()` 函式將輸入轉換為整數。

guess = int(input("Guess the number: "))

比較猜測值

收到玩家的猜測後,我們需要將其與隨機生成的數字進行比較。我們可以使用 `if-else` 語句根據比較結果提供反饋。如果猜測等於隨機數,則玩家贏得遊戲。否則,我們會通知玩家猜測的數字是高於還是低於實際數字,並提供另一次猜測機會。

if guess == random_number:
    print("Congratulations! You guessed the number correctly.")
else:
    if guess < random_number:
        print("The number is higher!")
    else:
        print("The number is lower!")
    number_of_guesses += 1

循環遊戲

我們將輸入和比較步驟包含在一個 `while` 迴圈中,以使玩家能夠進行多次猜測,直到他們找到正確的數字。我們設定一個條件,使迴圈持續到玩家猜對數字為止。

while guess != random_number:
    guess = int(input("Guess the number: "))
    
    if guess < random_number:
        print("The number is higher!")
    else:
        print("The number is lower!")
        
    number_of_guesses += 1

顯示結果

最後,在玩家成功猜到數字後,我們顯示他們贏得遊戲所嘗試的次數。

print("Congratulations! You guessed the number correctly in", number_of_guesses, "attempts.")

將所有內容整合在一起

以下是高低遊戲的完整程式碼

import random

lower_bound = 1
upper_bound = 100
number_of_guesses = 0

random_number = random.randint(lower_bound, upper_bound)

guess = int(input("Guess the number: "))

while guess != random_number:
    if guess < random_number:
        print("The number is higher!")
    else:
        print("The number is lower!")
        
    number_of_guesses += 1
    guess = int(input("Guess the number: "))

print("Congratulations! You guessed the number correctly in", number_of_guesses, "attempts.")

輸出

Guess the number: 50
The number is higher!
Guess the number: 75
The number is lower!
Guess the number: 60
The number is higher!
Guess the number: 65
The number is lower!
Guess the number: 63
Congratulations! You guessed the number correctly in 4 attempts.

錯誤處理

我們希望確保玩家在高低遊戲中在設定的範圍內提供正確的猜測。我們可以使用 `try-except` 塊建立錯誤處理,以處理玩家輸入錯誤值時可能出現的錯誤。

try:
    guess = int(input("Guess the number: "))

    if guess < lower_bound or guess > upper_bound:
        raise ValueError("Invalid guess. Please enter a number within the range.")

except ValueError as e:
    print(str(e))

在上面的程式碼片段中,我們使用 `try` 塊嘗試將使用者的輸入轉換為整數。如果轉換成功,我們將像以前一樣繼續進行比較。但是,如果在轉換過程中發生錯誤,則會引發 `ValueError`。

我們使用 `except` 塊來捕獲 `ValueError` 並優雅地處理它。在這種情況下,我們列印一條錯誤訊息以通知玩家他們的猜測無效,並要求他們輸入指定範圍內的數字。

透過實現錯誤處理,我們透過防止由無效輸入引起的崩潰或意外行為來改善使用者體驗。它還允許我們指導玩家在遊戲中做出正確且有意義的猜測。

以下是包含錯誤處理的更新程式碼片段

try:
    guess = int(input("Guess the number: "))

    if guess < lower_bound or guess > upper_bound:
        raise ValueError("Invalid guess. Please enter a number within the range.")

    if guess == random_number:
        print("Congratulations! You guessed the number correctly.")
    else:
        if guess < random_number:
            print("The number is higher!")
        else:
            print("The number is lower!")
        number_of_guesses += 1

except ValueError as e:
    print(str(e))

結論

總而言之,使用 Python 建立高低遊戲是增強您的編碼技能同時提供引人入勝和互動體驗的一種絕佳方式。透過遵循本文中概述的步驟,您可以開發一個功能齊全的遊戲,該遊戲挑戰玩家在一個給定範圍內猜測隨機生成的數字。透過使用迴圈、條件語句和輸入/輸出函式,您學習瞭如何實現遊戲的核心機制。高低遊戲不僅提供令人愉快的遊戲體驗,而且也作為程式設計概念的絕佳入門。因此,準備好開始建立您自己的高低遊戲,並享受探索 Python 程式設計的可能性吧!

更新於:2023年7月20日

4K+ 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告