Python遊戲(1) —— 猜單詞

2021-03-09 12:00:17

猜單詞小遊戲

利用python實現一個猜單詞的小遊戲,需要匯入的庫為random庫。
設計邏輯:從單詞列表中隨機選取一個單詞,對單詞裡的字母順序進行重新隨機排序,從而產生新的字串,玩家通過這個新的字串猜測原單詞。

對單詞字母的重新排序

先處理這個程式的核心程式碼就是如何生成亂序的單詞

jumble = ""
while word:
    position = random.randrange(len(word)) # 從單詞中隨機選取一個字元位置
    jumble += word[position] # 將字元拼接
    word = word[:position] + word[(position+1):] # 移除字元
print(jumble)

這裡其實是將一個word字串當成列表來處理了,從亂序字串的拼接和word裡字元的移除可以看出。

迴圈猜測環節

guess = input("輸入你認為的單詞:")
while True:
    if guess == correct:
        print("猜對了!")
        iscontinue = input("是否繼續(Y/N):")
        break
    elif guess == ' ':
        exit(0)
    else:
        print("猜錯了(輸入空格可退出)")
        guess = input("繼續猜:")

完整程式碼

import random

print("歡迎來到猜單詞遊戲")
words = ("python","hello","game","world","random") # 單詞序列元組
jumble = ''
iscontinue = 'y'
while iscontinue.lower()=='y':
    word = random.choice(words) # 從單詞元組中隨機挑選一個單詞
    correct = word # 利用新變數保持挑選的單詞,用於之後的比較
    jumble = ""
    while word:
        position = random.randrange(len(word)) # 從單詞中隨機選取一個字元位置
        jumble += word[position] # 將字元拼接
        word = word[:position] + word[(position+1):] # 移除字元
    print(jumble)
    guess = input("輸入你認為的單詞:")
    while True:
        if guess == correct:
            print("猜對了!")
            iscontinue = input("是否繼續(Y/N):")
            break
        elif guess == ' ':
            exit(0)
        else:
            print("猜錯了(輸入空格可退出)")
            guess = input("繼續猜:")

參考來源

《Python遊戲設計案例實戰》