Kalkulator naukowy

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 7443 razy

Jedną z najprostszych rzeczy jakie można napisać w Pythonie jest kalkulator naukowy, toteż i z najdzikszą wręcz rozkoszą postanowiłem sobie napisać takowy program. Do zrealizowanie tego projektu wykorzystałem bibliotekę tkinter. Oto jego kod:

#!/usr/bin/env python # -*- coding: utf-8 -*- import tkinter as tk from math import * exp = 0 def main(): def b_calculate_command(): equation = e_equation.get() errortext = "" global exp try: exp = eval(equation) except ZeroDivisionError as e: errortext = 'Dzielisz przez zero ({0})'.format(e) except NameError as e: errortext = 'Nieznana zmienna ({0})'.format(e) except TypeError as e: errortext = 'Błąd typu danych lub deklaracji zmiennej ({0})'.format(e) except: errortext = 'Błąd składni' e_calculate.delete(0, tk.END) if len(errortext): e_calculate.insert(0, "{equation}={errortext}".format(equation = equation, errortext = errortext)) t_calculate.insert(1.0, "{equation}={errortext}\n".format(equation = equation, errortext = errortext)) else: e_calculate.insert(0, "{equation}={exp}".format(equation = equation, exp = exp)) t_calculate.insert(1.0, "{equation}={exp}\n".format(equation = equation, exp = exp)) window = tk.Tk() window.anchor(tk.NW) window.title("Kalkulator") l_desc = tk.Label(window, text = "Podaj wyrażenie do obliczenia:", foreground = "#ff0000", anchor = tk.NW, width = 70) l_desc.pack(anchor = tk.NW) e_equation = tk.Entry(window, width = 71) e_equation.pack(anchor = tk.NW) b_calculate = tk.Button(window, text = "Oblicz", command = b_calculate_command, anchor = tk.CENTER, width= 68) b_calculate.pack(anchor = tk.NW) e_calculate = tk.Entry(window, width = 71) e_calculate.pack(anchor = tk.NW) t_calculate = tk.Text(window, width = 81) t_calculate.pack(anchor = tk.NW) window.mainloop() return 0 if __name__ == '__main__': main()

Poniżej zamieszczam screen programu.

Python - program kalkulator
Rys. 1
Screen programu kalkulator napisanego w Pythonie 3+
Propozycje książek