利用Python完成一個小游戲:隨機挑選一個單詞,並對其進行亂序,玩家要猜出原始單詞


一 Python的概述以及游戲的內容

Python是一種功能強大且易於使用的編程語言,更接近人類語言,以至於人們都說它是“以思考的速度編程”;Python具備現代編程語言所應具備的一切功能;Python是面向對象

編程的語言,可以跟其他語言結合使用;Python在絕大多數操作系統上都可以運行,且是免費開源的。因為上述原因,Python變得十分流行以及成功。

本游戲屬於猜字游戲,計算機從一組單詞中隨機挑一個出來,然后對其進行亂序(也就是讓單詞的字母隨機排列)。玩家要猜出原始單詞才算贏。由此可以大致總結程序的主要流程

1.先構建一組單詞,作為數據來源,方便測試;

2.隨機選擇一個單詞,並進行亂序,將亂序后的結果輸出,供玩家猜測;

3.根據玩家的猜測結果,輸出對應的信息

本實驗是在Python3.3.5上完成,如果Python版本不一樣,有些語法不能兼容導致報錯!

 

二利用Python完成的代碼

編程過程中出了一些語法結構注意之外,還要格外注意代碼塊以及縮進保持一致!縮進一致的才算是一個程序塊。

#introuce random
import random        #引進隨機模塊

#set up dictionary
dictionary=("augment","encompass","scramble","prospective","reinstate",
                 "primordial","inexorable","discard","vigorous","commuter",
                 "appetite","grumble","mechanical","aesthetic","stereotype",
                 "compliment","civilization","discriminate","curse","sarcasm",
                 "insane","recipe","reinforce","jealous","anniversary")   #建立單詞庫,以元組的形式


right="Y"

print("Welcome to Word Guess!\n\n")

while right=="Y":
    #randomly choose a vocabulary
    word=random.choice(dictionary)         #隨機挑選一個單詞

    score=100

    correct=word

    #break word   #將選出的單次進行亂序
    new_word=""

    for i in correct:
        position=random.randrange(len(word))
        new_word+=word[position]
        word=word[:position]+word[(position+1):]   #序列的索引,切片等操作

    #welcome interface

    print("The broken word is:",new_word)


    #user need to guess

    guess=input("Please input your guess:")   #玩家進行猜測

    while score>=60:
        if guess!=correct:
            guess=input("please try again:")
            score-=10;
        else:
            print("Congratulation!Your final score is:",score)
            break

    if score<60:
        print("Sorry,you are failed!")

    right=input("Play again?Y/N")     #如果想繼續玩,則輸入Y

print("Thanks for playing!")


input("\n\n Press the enter key to exit")

 

三程序的檢測結果

第一次輸出的是打亂后的單詞 oercnreif,正確的單詞是reinforce,因為猜錯了一次,所以扣了10分,最終成績是90;

如果還想再來一局,則輸入“Y”,即有新的單詞出現。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM