
Создать окно с помощью tkinter и создать внутри окна кнопку, кнопка при нажатии должна была нас
перекидывать в калькулятор ( калькулятор тоже нужно сделать, простой чтоб вычитал, прибавлял, умножал и делил ). На Python, пожалуйста чтоб код работ. Дам 50 баллов

Ответы на вопрос

import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
self.master.title("Calculator")
self.result = tk.StringVar()
self.result.set("0")
# Создаем строку для вывода результата
self.result_label = tk.Label(self.master, textvariable=self.result, font=("Arial", 24))
self.result_label.pack(padx=10, pady=10)
# Создаем кнопки для цифр и операций
buttons = [
"7", "8", "9", "+",
"4", "5", "6", "-",
"1", "2", "3", "*",
"0", ".", "=", "/"
]
# Функции для операций
def add():
self.operator = "+"
self.operand1 = float(self.result.get())
self.result.set("0")
def subtract():
self.operator = "-"
self.operand1 = float(self.result.get())
self.result.set("0")
def multiply():
self.operator = "*"
self.operand1 = float(self.result.get())
self.result.set("0")
def divide():
self.operator = "/"
self.operand1 = float(self.result.get())
self.result.set("0")
def calculate():
operand2 = float(self.result.get())
if self.operator == "+":
self.result.set(str(self.operand1 + operand2))
elif self.operator == "-":
self.result.set(str(self.operand1 - operand2))
elif self.operator == "*":
self.result.set(str(self.operand1 * operand2))
elif self.operator == "/":
try:
self.result.set(str(self.operand1 / operand2))
except ZeroDivisionError:
self.result.set("Error")
# Функция, которая вызывается при нажатии на кнопку
def button_click(button):
if button == "=":
# Вычисляем результат
calculate()
elif button == "+":
add()
elif button == "-":
subtract()
elif button == "*":
multiply()
elif button == "/":
divide()
else:
# Добавляем цифру в строку результата
if self.result.get() == "0":
self.result.set(button)



Конечно, вот пример кода, который создает окно с кнопкой, при нажатии на которую открывается простой калькулятор:
pythonimport tkinter as tk
def open_calculator():
calculator_window = tk.Toplevel(root)
calculator_window.title("Калькулятор")
# Функции для операций калькулятора
def add():
result = float(entry1.get()) + float(entry2.get())
result_label.config(text="Результат: " + str(result))
def subtract():
result = float(entry1.get()) - float(entry2.get())
result_label.config(text="Результат: " + str(result))
def multiply():
result = float(entry1.get()) * float(entry2.get())
result_label.config(text="Результат: " + str(result))
def divide():
result = float(entry1.get()) / float(entry2.get())
result_label.config(text="Результат: " + str(result))
# Создание виджетов калькулятора
label1 = tk.Label(calculator_window, text="Число 1:")
label1.pack()
entry1 = tk.Entry(calculator_window)
entry1.pack()
label2 = tk.Label(calculator_window, text="Число 2:")
label2.pack()
entry2 = tk.Entry(calculator_window)
entry2.pack()
add_button = tk.Button(calculator_window, text="Сложение", command=add)
add_button.pack()
subtract_button = tk.Button(calculator_window, text="Вычитание", command=subtract)
subtract_button.pack()
multiply_button = tk.Button(calculator_window, text="Умножение", command=multiply)
multiply_button.pack()
divide_button = tk.Button(calculator_window, text="Деление", command=divide)
divide_button.pack()
result_label = tk.Label(calculator_window, text="Результат:")
result_label.pack()
# Создание главного окна
root = tk.Tk()
root.title("Окно с кнопкой")
# Создание кнопки
button = tk.Button(root, text="Открыть калькулятор", command=open_calculator)
button.pack()
# Запуск главного цикла
root.mainloop()
Сохраните код в файле с расширением .py
, например, calculator.py
, и запустите его. После запуска появится окно с кнопкой "Открыть калькулятор". При нажатии на кнопку откроется новое окно с простым калькулятором, который выполняет операции сложения, вычитания, умножения и деления на основе введенных чисел.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili