序列應用——猜單詞遊戲

開發工具:Visual Studio Codepython

1.遊戲介紹web

猜單詞遊戲就是計筧機隨機產生一個單詞,打亂字母順序,供玩家去猜想。此遊戲採用控制字符界面.windows

2.程序設計思路數據結構

遊戲中,可以使用序列中的元組存儲全部待猜想的單詞。由於猜單詞遊戲須要隨機產生某個待猜想單詞以及隨機數字,因此引入random模塊隨機數函數。其中,random.choice()能夠從序列中隨機選取元素。app

在遊戲中,隨機挑出一個單詞word後,把單詞word的字母順序打亂的方法是隨機單詞字符串中選擇一個位置position,把position位置的字母加入亂序後的單詞jumble,同時將原單詞word中position位置的那個字母刪去(經過鏈接position位置前字符串和其後字符串實現)。經過屢次循環就能夠產生亂序後的新單詞jumble。dom

3.random模塊函數

random模塊能夠產生一個隨機數或者從序列中獲取一個隨機元素。它的經常使用方法和用例子以下。工具

random.random開發工具

random.random()用於生成一個範圍在0-1的隨機小數n,(0≤n<1.0)。.net

random.uniform

random.uniform(a,b)用於生成一個指定範圍內的隨機小數,在兩個參數中,一個是上限,一個是下限。若是a<b,則生成的隨機數J2知足條件a≤n≤b;若是a>b,則b≤n≤a。

random.randint

random.randint(a,b)用於隨機生成一個指定範圍內的整數。其中,參數a是下限,參數b是上限,則生成的隨機數n知足條件:a≤n≤b。

random.randrange

random.randrange([start),stop[,step])可從指定範圍內,按指定基數遞增的集合中獲取一個隨機數。如: random.randrange(10,100,2),結果至關於從10, 12,14,16,…,96,981序列中獲取一個隨機數。random.randrange(10,100,2)在結果上與random.choice(range(10,100,2)等效。

random.choice

random.choice可從序列中獲取一個隨機元素。其函數原型爲:random(sequence)參數sequence表示一個有序類型,不是一種特定類型,而是泛指序列數據結構。列表( list)、元組(tuple)字符串都屬於sequence。

random.shuffle

random.shuffle(x[,random])用於將一個列表中的元素的順序打亂。

** random.sample**

random.sample(sequence,k)都可從指定序列中隨機獲取指定長度的片段。sample()函數不會修改原有序列。

4.程序設計步驟

1.在猜單詞遊戲程序中導入相關模塊。

2.建立全部待猜想的單詞序列元組WORDS。

3.顯示遊戲歡迎界面。

4.實現遊戲的邏輯。

首先,從序列中隨機挑出一個單詞,如「easy」;而後打亂這個單詞的字母順序;接着,經過屢次循環就能夠產生新的亂序後的單詞jumble;最後,將亂序後的單詞顯示給玩家。

5.玩家輸入猜想單詞,程序判斷對錯。若玩家猜錯,則能夠繼續猜。

5.參考代碼

6.遇到的問題 (1)在調試的過程當中報了這樣一個錯誤:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 166-167: truncated。這個錯誤,其實引發這個錯誤的緣由就是轉義的問題。 緣由分析:在windows系統當中讀取文件路徑能夠使用\,可是在python字符串中\有轉義的含義,如\t可表明TAB,\n表明換行,因此咱們須要採起一些方式使得\不被解讀爲轉義字符。

解決方案:

一、在路徑前面加r,即保持字符原始值的意思。 sys.path.append(r'c:\Users\mshacxiang\VScode_project\web_ddt')

二、替換爲雙反斜槓 sys.path.append('c:\Users\mshacxiang\VScode_project\web_ddt')

三、替換爲正斜槓 sys.path.append('c:/Users/mshacxiang/VScode_project/web_ddt')

參考連接: http://www.javashuo.com/article/p-ramsxfmk-hp.html

7.運行結果

相關文章
相關標籤/搜索