Kalkulator naukowy
Stronę tą wyświetlono już: 7721 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.