【安安教具】-【数学】-【有理数计算】模拟器 教你如何用python制作有理数计算模拟器 python项目小发明 eval函数

今天教大家用python模拟有理数计算,首先展示功能页面:

【安安教具】-【数学】-【有理数计算】模拟器 教你如何用python制作有理数计算模拟器 python项目小发明 eval函数

啊这?怎么用这个东西呀?我们来看看~

<iframe allowfullscreen="true" data-mediaembed="csdn" id="bAFoh5Ob-1643416044953" src="https://live.csdn.net/v/embed/185070"></iframe>

有理数计算模拟器

哇,功能这么强大?那实现起来一定很难吧???

其实也没那么难。。。因为python早就整合好了这部分功能,我们来看下代码~

前端功能页面:

from tkinter import *
from tkinter import messagebox
import tkinter as tk
import numpy as np
class basedesk():#底板
    def __init__(self, master):
        self.master = master
        self.master.title("有理数计算模拟器")
        self.master.configure(bg='#B1FFF9')
        self.master.geometry("1000x600")
        mainwindow(self.master)
class mainwindow():#主界面
    def __init__(self, master):
        self.master = master
        self.window = tk.Frame(self.master, bg='#e5ffe5')
        self.window.place(x=0,y=0,width=1000,height=600)
        self.window.showname_label=tk.Label(self.window,text="有理数计算模拟器",fg='#26734d', bg='#ffe5ff',font=("Helvetic",60,"bold"),relief=RAISED).place(x=0, y=10,width=1000, height=150)
        self.window.enter_btn=tk.Button(self.window,text="开始",bg='#ffffe5',fg='#333399',font=("Helvetic", 60, "bold"),command=self.changetofunction).place(x=360, y=300,width=250, height=150)
    def changetofunction(self,):
        self.window.destroy()
        functionwindow(self.master)
class functionwindow():
    def __init__(self, master):
        self.master = master
        self.window = tk.Frame(self.master, bg='#e5f9ff')
        self.window.place(x=0, y=0, width=1000, height=600)
        self.window.show_label = tk.Label(self.window, text="请输入要计算的式子(只可输入有理数以及+-*/符号):", font=("Helvetic", 20, "bold"), bg='#e5f9ff').place(x=20, y=10)
        self.window.showlistbox=tk.Entry(self.window, font=("Helvetica", 20))
        self.window.showlistbox.place(x=50, y=50, width=900, height=40)
        self.window.enter_btn=tk.Button(self.window,text="计算",bg='#ffffe5',fg='#333399',font=("Helvetic", 60, "bold"),command=self.calculate).place(x=360, y=300,width=250, height=150)

哇咔咔,前端页面完成了,那后端算法应该也不少吧?

后端算法:

    def calculate(self):
        lister=self.window.showlistbox.get()
        try:
            a=eval(lister)
        except:
            messagebox.showerror("错误","请输入计算式")
            return
        messagebox.showinfo("计算结果",eval(lister))

what???怎么才这么少?原来,python有理数计算功能早已整合成了eval函数,直接用就可以啦~

最后展示完整代码:

from tkinter import *
from tkinter import messagebox
import tkinter as tk
import numpy as np
class basedesk():#底板
    def __init__(self, master):
        self.master = master
        self.master.title("有理数计算模拟器")
        self.master.configure(bg='#B1FFF9')
        self.master.geometry("1000x600")
        mainwindow(self.master)
class mainwindow():#主界面
    def __init__(self, master):
        self.master = master
        self.window = tk.Frame(self.master, bg='#e5ffe5')
        self.window.place(x=0,y=0,width=1000,height=600)
        self.window.showname_label=tk.Label(self.window,text="有理数计算模拟器",fg='#26734d', bg='#ffe5ff',font=("Helvetic",60,"bold"),relief=RAISED).place(x=0, y=10,width=1000, height=150)
        self.window.enter_btn=tk.Button(self.window,text="开始",bg='#ffffe5',fg='#333399',font=("Helvetic", 60, "bold"),command=self.changetofunction).place(x=360, y=300,width=250, height=150)
    def changetofunction(self,):
        self.window.destroy()
        functionwindow(self.master)
class functionwindow():
    def __init__(self, master):
        self.master = master
        self.window = tk.Frame(self.master, bg='#e5f9ff')
        self.window.place(x=0, y=0, width=1000, height=600)
        self.window.show_label = tk.Label(self.window, text="请输入要计算的式子(只可输入有理数以及+-*/符号):", font=("Helvetic", 20, "bold"), bg='#e5f9ff').place(x=20, y=10)
        self.window.showlistbox=tk.Entry(self.window, font=("Helvetica", 20))
        self.window.showlistbox.place(x=50, y=50, width=900, height=40)
        self.window.enter_btn=tk.Button(self.window,text="计算",bg='#ffffe5',fg='#333399',font=("Helvetic", 60, "bold"),command=self.calculate).place(x=360, y=300,width=250, height=150)
    def calculate(self):
        lister=self.window.showlistbox.get()
        try:
            a=eval(lister)
        except:
            messagebox.showerror("错误","请输入计算式")
            return
        messagebox.showinfo("计算结果",eval(lister))

if __name__ == '__main__':#主函数
    root = tk.Tk()
    root.resizable(False, False)
    basedesk(root)
    root.mainloop()

上一篇:WPF_18_Window


下一篇:《51单片机应用开发从入门到精通》——2.6 中断控制功能的作用