Python實現撲克24點小遊戲 ,從此我就沒輸過

2022-05-16 14:16:35 字數 1592 閱讀 3764

ps注意:很多人學python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此小編建了個python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決裡面還有最新python實戰教程免非下,,一起相互監督共同進步!

一、設計思路:

由於設計到了表示式,很自然的想到了是否可以使用表示式樹來設計程式。本程式的確使用了表示式樹,也是程式最關鍵的環節。簡要概括為:先列出所有表示式的可能性,然後運用表示式樹計算表示式的值。程式中大量的運用了遞迴,各個遞迴式不是很複雜,大家耐心看看,應該是能看懂的

表示式樹:

表示式樹的所有葉子節點均為運算元(operand),其他節點為運算子(operator)。由於本例中都是二元運算,所以表示式樹是二叉樹。下圖就是乙個表示式樹

具體步驟:

1、遍歷所有表示式的可能情況

遍歷分為兩部分,一部分遍歷出運算元的所有可能,然後是運算子的所有可能。全排列的計算採用了遞迴的思想

2、根據傳入的表示式的值,構造表示式樹

由於表示式樹的特點,所有運算元均為葉子節點,操作符為非葉子節點,而乙個表示式(例如( ( ( 6 + 4 ) - 2 ) * 3 ) = 24) 只有3個運算子,即一顆表示式樹只有3個非葉子節點。所以樹的形狀只有兩種可能,就直接寫死了

3、計算表示式樹的值

也運用了遞迴

4、輸出所有可能的表示式

還是運用了遞迴

5、輸出結果

這樣整個程式就全部完成了,注意:很多人學python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此小編建了個python全棧免費答疑.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決裡面還有最新python實戰教程免非下,,一起相互監督共同進步!

讚賞支援

Python實現24點遊戲

24點遊戲是經典的紙牌益智遊戲。我的思路是把這4個數分成2部分,前兩個數一起,後兩個數一起,先計算除前兩個數所有可能的結果和後兩個數所有可能的結果。最後將它們的結果互相計算,結果與24比較,如果等於24則成功。建立使用者類,整個遊戲的體系就是建立乙個使用者類來儲存使用者的資訊,如姓名,生命值,分數等...

用撲克牌計算24點

問題描述 一副撲克牌的每張牌表示乙個數 j q k分別表示11 12 13,兩個司令都表示6 任取4張牌,即得到1 13的數,請新增運算子 規定為加 減 乘 除四種 使之成為表示式。每個數只能參與一次運算,4個數順序可以任意組合,4個運算子任意取3個且可以重複取。運算遵從一定有限級別,可加括號控制,...

用撲克牌計算24點(C)

一副撲克牌的每張牌表示乙個數 j q k 分別表示 11 12 13,兩個司令都表示 6 任取4 張牌,即得到 4 個 1 13 的數,請新增運算子 規定為加 減 乘 除 四種 使之成為乙個表示式。每個數只能參與一次運算,4 個數順序可以任意組合,4 個運算子任意取 3 個且可以重複取。運算遵從一定...