Nachdem ich das Programmieren mit Python gelernt hatte, war mein Favorit die ** Tastenverarbeitung mit tkinter **. Als ich mich fragte, was einen Großteil dieser Tastenverarbeitung bewirken könnte, kam zuerst der Taschenrechner heraus.
final_python.py
from tkinter import *
#Fenstererstellung
root = Tk()
#Angabe der Fenstergröße
root.geometry("500x500")
#Erstellung von Fenstertiteln
root.title("Rechenmaschine mit vier Regeln")
#Klischee
root.mainloop()
final_python.py
#C-Funktion
def clear():
textVal = expression.get()
if len(textVal) > 1:
expression.set(textVal[:-1])
else:
expression.set("")
#AC-Funktion
def all_clear():
expression.set("")
C | Zeichen für Zeichen löschen |
---|---|
AC | Löschen Sie alle Zeichen |
final_python.py
buttons = (
(("C", clear ), ("AC", all_clear), ("%", op("%") ), ("+", op("+"))),
(("7", digit(7)), ("8", digit(8) ), ("9", digit(9)), ("/", op("/"))),
(("4", digit(4)), ("5", digit(5) ), ("6", digit(6)), ("*", op("*"))),
(("1", digit(1)), ("2", digit(2) ), ("3", digit(3)), ("-", op("-"))),
(("0", digit(1)), (None, None ), ('.', op('.') ), ("=", calculate)),
)
Ich wollte diesmal alle Funktionen erklären, indem ich die letzte Aufgabe ankündigte, aber da jede Person eine begrenzte Zeit von 2 Minuten hat, habe ich die Punkte eingegrenzt, damit sie innerhalb von 2 Minuten beibehalten werden können. Der Quellcode wird am Ende eingefügt, also schauen Sie ihn sich bitte an ...
final_python.py
# coding:utf-8
from tkinter import *
#Fensteranzeige
root = Tk()
#Angabe der Fenstergröße
root.geometry("500x500")
#Erstellung von Fenstertiteln
root.title("Rechenmaschine mit vier Regeln")
expression = StringVar()
#C-Funktion
def clear():
textVal = expression.get()
if len(textVal) > 1:
expression.set(textVal[:-1])
else:
expression.set("")
#AC-Funktion
def all_clear():
expression.set("")
#Zifferntaste
def digit(number):
def func():
expression.set(expression.get() + str(number))
return func
#Schaltfläche Berechnen
def op(label):
def func():
expression.set(expression.get() + label)
return func
#=Die Funktion von
def calculate():
try:
expression.set(eval(expression.get()))
except SyntaxError:
expression.set("SyntaxError")
except ZeroDivisionError:
expression.set("ZeroDivisionError")
except NameError:
expression.set("NameError")
buttons = (
(("C", clear ), ("AC", all_clear), ("%", op("%") ), ("+", op("+"))),
(("7", digit(7)), ("8", digit(8) ), ("9", digit(9)), ("/", op("/"))),
(("4", digit(4)), ("5", digit(5) ), ("6", digit(6)), ("*", op("*"))),
(("1", digit(1)), ("2", digit(2) ), ("3", digit(3)), ("-", op("-"))),
(("0", digit(1)), (None, None ), ('.', op('.') ), ("=", calculate)),
)
#Anzeigebildschirm
e = Label(root, textvariable=expression, fg="#ffffff", bg="#000000", anchor=E, height=2)
e.grid(row=0, column=0, columnspan=4, sticky="EW")
for row, btns in enumerate(buttons, 1):
for col, (label, func) in enumerate(btns):
if label:
b = Button(root, text=label, command=func, width=10, height=5)
b.grid(row=row, column=col)
#Klischee
root.mainloop()
Fast der Quellcode basierte auf Mit Tkinter erstellter Rechner, aber auf der Breite des Fensters, der Größe des Rechners selbst und der Funktion von C. Es gab einige Bereiche, die verbessert werden mussten, daher bin ich froh, dass ich es selbst tun konnte. Es war auch gut, die Bedeutung jedes Befehls verstehen zu können. Ich möchte mich während der Sommerferien auf das Programmieren konzentrieren.
Die einfachste Python-Einführungsklasse Fumitaka Osawa [Autor]
Recommended Posts