python3编写方程计算器_python算法——方程计算器小工具
python算法——方程計算器小工具
工具介紹
方程計算器小工具使用python開發,可實現三元以內一次、二次等方程的計算,包含基本計算器的功能。可用于老師、學生、家長等快速驗證方程的求解,檢查學生作業等。
工具使用方法
1.打開工具
工具包括方程輸入區,解顯示區,按鍵區等。
按鍵的白色區域包括數字、點(.)和角度符號(°)。
數字的右側為基本運算符號(+,-,*,/)、括號()和常量(圓周率π、自然對數E)。
下側為復雜運算符號,包括平方(m^2),立方(m ^3),不定次方(m ^n),根號(√),任意次方根(m√n),正弦(sin),余弦(cos),正切(tan),自然對數(ln),任意對數(lg),反正弦(arcsin),反余弦(arccos),反正切(arctan),指數(exp),階乘(n!)等。
右側為變量(X、Y、Z)三個變量,等號(=),將結果轉為小數,保留兩位小數(.00),將結果轉為分數(m/n),清空所有方程(AC),刪除一位(退格),刪除一行方程(清行),解方程(求解),清空解(清解),快速獲取輸入解(X值、Y值、Z值)。
2.工具使用
左側點擊方程框,應從方程1框開始,輸入要求解的方程,如
3. 點擊求解,可以得到方程的解
4.特殊符號說明
任意次方(m^n)、根號(√)、sin、cos、tan、asin、acos、atan、自然對數(ln)、指數(exp)需補全括號。
任意開次方(m√n)先輸入n,點擊符號,再輸入m,補全括號。
任意對數(lg)應先輸入數值,加英文逗號(,)再輸入底數,補全括號。
階乘(n!)應先點擊階乘符號,再輸入數值,補全括號。
重點代碼
1.使用sympy科學計算庫
from sympy import *1
庫的安裝使用pip install sympy網速不行時比較慢,解決方法是使用清華庫,地址為https://pypi.tuna.tsinghua.edu.cn/simple,可查找sympy,下載相應版本庫文件,再安裝。
建議直接使用清華庫暗轉,命令為:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sympy
2. 輸入框可綁定鼠標點擊事件
equaet1 = Entry(root, textvariable=equation1)
……
equaet1.bind("", Sign1) # 方程1綁定鼠標左鍵點擊事件1
2
3
符號替換
import re
s1 = "X-2*π=0"
strinfo = re.compile('π') # 用正則表達式查找
s2 = strinfo.sub('pi', s1) # 將符號π替換為系統識別的可計算的pi1
2
3
4
4.解方程
X = Symbol('X') # 定義符號
result = solve("2*X-4=1", "X") # 求解方程,若多元一次方程結果為字典類型,若多次方程,結果為列表類型
……
str1 = "2*X-4=1"
res = sympify(str1) # sympify可將字符串轉化為公式,solve可識別字符串,本案例未使用
……
#可用type({})判斷是否是字典類型,用type([])判斷是否是列表類型1
2
3
4
5
6
7
5.結果轉化為小數或分數
result = round(0.12353, 2) # 保留兩位小數為0.12
……
from fractions import Fraction
result = Fraction(0.25).limit_denominator() # 轉化為分數1
2
3
4
打包成exe時出現maximum recursion depth exceeded問題
原因:遞歸超過深度
解決方法:打包之后,會生成.spec文件,用記事本打開文件,在最前面輸入:
import sys
sys.setrecursionlimit(5000) # 設置遞歸深度5000,可根據需要增加1
2
保存后,重新以.spec文件打包
pyinstaller -F -w -i favicon.ico calculator.spec
完成后解決。
工具下載地址
工具地址:https://download.csdn.net/download/weixin_39151703/12188873
附清華庫地址:https://pypi.tuna.tsinghua.edu.cn/simple
總結
以上是生活随笔為你收集整理的python3编写方程计算器_python算法——方程计算器小工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大厂经验分享
- 下一篇: 15 | 二分查找(上):如何用最省内存