四則運算 py實現

2022-08-27 19:48:10 字數 1556 閱讀 8432

題目鏈結跳**四則要求

原始碼已經上傳至碼雲:四則運算

## 需求分析:

##

1.實現帶有自然數,真分數,假分數,少於3個運算子的四則等式

2.實現查重,運算

3.擁有萬級別的出解題能力

###功能設計:###

1.表示式中綴轉字尾

2.隨機數字生成(包括真假分數)

3.假分數轉統一分數形式

4.建樹(順便求解 按規則建樹保證唯一)

5.隨便一種樹的遍歷方式

6.表示式建立

## 程式設計

## 實現乙個tool工具類,乙個節點類,乙個等式類(實際上沒什麼卵用)

### 功能1:中綴轉字尾####

def nibolan(self,source):#引數為字串表示式

###功能2:運算元生成###

def myrandomdata(self,begin=0):#隨機運算元 預設從0隨機

###功能3:真假轉化###

def tobefraction(self,a):#轉化為分數形式

###功能4:建樹並求解 (查重關鍵點)###

def createtree(self,source):#引數為字尾表示式字串

###功能5:遍歷###

def heng(self,a,b):#a為root b為容器

###功能6:表示式建立###

def create(self):

## **說明: ##

查重思路

!(

關鍵在於如何建立一顆 相同即唯一的樹 按照上面當 『*+『時才可能出現交換律等價的情況 所以採用上圖的規則可解決這一問題。最後在建立

表示式的時候,遍歷樹並將節點記錄下來,記錄下來的字串作為查重唯一碼,若此碼出現過則重新建立表示式(解釋下為什麼可以用遍歷的

字串來斷定是否相同 雖然2種遍歷才能唯一確定一顆樹 相同遍歷不一定相同字串,但是如果表示式相同他必定有相同的遍歷字串 ,

也就是說他是乙個子集的概念 大不了多做幾次建立)

原始碼已經上傳至碼雲:四則運算

多方式實現,多思考,多交流

四則運算 py

這個作業屬於哪個課程 這個作業要求在 homework 11376 這個作業的目標 寫乙個能自動生成小學四則運算題目的程式 學號 3190704223 源 import random from fractions import fraction def count1 question,ans1 pr...

實現四則運算

總結最近在看資料結構,遇到第乙個實際棧的應用,記錄 將平時的四則運算表示式又稱為中綴表示式轉化為字尾表示式。遇數字輸出,遇符號進棧,符號優先順序低於棧當前符號則輸出,輸出直到同等優先順序符號。例 9 3 1 2 輸出 棧 9 in 9 in 9 3 9 3 in 9 3 1 9 3 1 in 右括號...

python四則運算程式 四則運算(Python)

四則運算程式 一 資訊 二.題目要求 寫乙個能自動生成小學四則運算題目的程式,然後在此基礎上擴充套件 除了整數以外,還要支援真分數的四則運算,例如 1 6 1 8 7 24 程式要求能處理使用者的輸入,判斷對錯,累積分數 程式支援可以由使用者自行選擇加 減 乘 除運算 三 import random...