基本要求
一元稀疏多项式简单计算器的基本功能是:
(1)输入并建立多项式;
(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,ci,ei,分别是第i项的系数和指数,序列按指数降序排序;
(3)多项式a和b相加,建立多项式a+b;
(4)多项式a和b相减,建立多项式a-b;
(5)计算多项式在x处的值;
(6)计算器的仿真界面(选做)
基本要求
一元稀疏多项式简单计算器的基本功能是:
(1)输入并建立多项式;
(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,ci,ei,分别是第i项的系数和指数,序列按指数降序排序;
(3)多项式a和b相加,建立多项式a+b;
(4)多项式a和b相减,建立多项式a-b;
(5)计算多项式在x处的值;
(6)计算器的仿真界面(选做)
实现思想及算法描述:
用数组来表示相应的多项式
其中,数组的位置序号表示指数,该位置的元素表示系数,从而通过数组运算来实现多项式加减运算
在输入框输入多项式后,应使用正则表达式来进行匹配,从而识别出系数与指数,从而构建数组
python代码及注释:
import tkinter as TK
from tkinter.constants import *
import re
root=TK.Tk()
root.title("计算器")
show=TK.Entry(root)
show.pack()
#图形界面初始化
first1=re.compile(r".\d*x")
first2=re.compile(r".\d*")
last1=re.compile(r"\^\d*")
last2=re.compile(r"\d+")
#正则表达式初始化
''' 测试数据: -3x^1+5x^2 '''
theone=[]
thetwo=[]
operator=""
n=0
#静态变量初始化
#用于格式化保存输入框中的数据
def save():
str=show.get()
first=re.findall(first1,str)
last = re.findall(last1,