Python:
# Import the necessary packages:
import math,random,tkinter,sys,os
from tkinter import *
from tkinter import ttk
from random import sample
import tkinter as tk
# Widgets:
window=Tk()
ch1=Entry(window,fg="black", bg="white", width=50)
ch2=Entry(window,fg="black", bg="white", width=50)
umBtn=Button(window) #Умножение
dBtn=Button(window) #Деление
pBtn=Button(window) #Добавление
mBtn=Button(window) #Отнимание
dbBtn=Button(window) #Деление без остачи
odBtn=Button(window) #Остача от деления
vsBtn=Button(window) #Возведение в степень
resBtn=Button(window) #Сброс
answer=Label(window, relief='groove',width=2)
# Geometry:
umBtn.grid(row=1,column=0)
dBtn.grid(row=1,column=1)
pBtn.grid(row=2,column=0)
mBtn.grid(row=2,column=1)
dbBtn.grid(row=3,column=0)
odBtn.grid(row=3,column=1)
vsBtn.grid(row=4,column=0)
ch1.grid(row=1,column=2)
ch2.grid(row=1,column=3)
resBtn.grid(row=5,column=0)
answer.grid(row=0,column=0)
# Static Properties:
window.title("Calculator")
window.resizable(0,0)
umBtn.configure(text="Умножение")
dBtn.configure(text="Деление")
pBtn.configure(text="Добавление")
mBtn.configure(text="Отнимание")
dbBtn.configure(text="Деление без остачи")
odBtn.configure(text="Остача от деления")
vsBtn.configure(text="Возведение в степень")
resBtn.configure(text="Сброс")
# Initial Properties:
answer.configure(text='...')
resBtn.configure(state=DISABLED)
# Functions:
def um():
um=ch1*ch2
answer.configure(text=um)
umBtn.configure(state=DISABLED)
dBtn.configure(state=DISABLED)
pBtn.configure(state=DISABLED)
mBtn.configure(state=DISABLED)
dbBtn.configure(state=DISABLED)
odBtn.configure(state=DISABLED)
vsBtn.configure(state=DISABLED)
resBtn.configure(state=NORMAL)
def d():
d=ch1/ch2
answer.configure(text=d)
umBtn.configure(state=DISABLED)
dBtn.configure(state=DISABLED)
pBtn.configure(state=DISABLED)
mBtn.configure(state=DISABLED)
dbBtn.configure(state=DISABLED)
odBtn.configure(state=DISABLED)
vsBtn.configure(state=DISABLED)
resBtn.configure(state=NORMAL)
def p():
p=ch1+ch2
answer.configure(text=p)
umBtn.configure(state=DISABLED)
dBtn.configure(state=DISABLED)
pBtn.configure(state=DISABLED)
mBtn.configure(state=DISABLED)
dbBtn.configure(state=DISABLED)
odBtn.configure(state=DISABLED)
vsBtn.configure(state=DISABLED)
resBtn.configure(state=NORMAL)
def m():
m=ch1-ch2
answer.configure(text=m)
umBtn.configure(state=DISABLED)
dBtn.configure(state=DISABLED)
pBtn.configure(state=DISABLED)
mBtn.configure(state=DISABLED)
dbBtn.configure(state=DISABLED)
odBtn.configure(state=DISABLED)
vsBtn.configure(state=DISABLED)
resBtn.configure(state=NORMAL)
def db():
db=ch1//ch2
answer.configure(text=db)
umBtn.configure(state=DISABLED)
dBtn.configure(state=DISABLED)
pBtn.configure(state=DISABLED)
mBtn.configure(state=DISABLED)
dbBtn.configure(state=DISABLED)
odBtn.configure(state=DISABLED)
vsBtn.configure(state=DISABLED)
resBtn.configure(state=NORMAL)
def od():
od=ch1%ch2
answer.configure(text=od)
umBtn.configure(state=DISABLED)
dBtn.configure(state=DISABLED)
pBtn.configure(state=DISABLED)
mBtn.configure(state=DISABLED)
dbBtn.configure(state=DISABLED)
odBtn.configure(state=DISABLED)
vsBtn.configure(state=DISABLED)
resBtn.configure(state=NORMAL)
def vs():
vs=ch1**ch2
answer.configure(text=vs)
umBtn.configure(state=DISABLED)
dBtn.configure(state=DISABLED)
pBtn.configure(state=DISABLED)
mBtn.configure(state=DISABLED)
dbBtn.configure(state=DISABLED)
odBtn.configure(state=DISABLED)
vsBtn.configure(state=DISABLED)
resBtn.configure(state=NORMAL)
def res():
resBtn.configure(state=DISABLED)
answer.configure(text="")
umBtn.configure(state=NORMAL)
dBtn.configure(state=NORMAL)
pBtn.configure(state=NORMAL)
mBtn.configure(state=NORMAL)
dbBtn.configure(state=NORMAL)
odBtn.configure(state=NORMAL)
vsBtn.configure(state=NORMAL)
# Functions connected to buttons:
umBtn.configure(command=um)
dBtn.configure(command=d)
pBtn.configure(command=p)
mBtn.configure(command=m)
dbBtn.configure(command=db)
odBtn.configure(command=od)
vsBtn.configure(command=vs)
resBtn.configure(command=res)
# Main Loop:
window.mainloop()
У меня Windows 10, Python 3.11.3.
Не могу понять как провести математические действия с данными полученными с помощью виджета 'Entry'.
Пытался перевести в число на отдельной строке: int(ch1.get())
int(ch2.get()).
Пытался задать переменную с переведённым значением: val1=int(ch1.get())
val2=int(ch2.get()).
Помогите с кодом, если кто сталкивался с этой проблемой. Подскажите, как провести математические действие с теми данными.