Новая Школа - онлайн-школа подготовки к ЕГЭ
Программирование · 8 класс Задача №2959948
А
Аноним
14 марта 2025 17:49 · публичный вопрос
А
Аноним

напиши на пайтоне калькулятор с хорошим визуалом

Ответ нейросети
14 марта 2025 17:49

Хорошо, давай создадим калькулятор на Python с хорошим визуалом. Мы будем использовать библиотеку tkinter, которая позволяет создавать графические интерфейсы.

Вот пошаговое руководство по созданию простого калькулятора:

Шаг 1: Установка окружения

Убедись, что у тебя установлен Python. Для этого можешь скачать его с официального сайта python.org. tkinter обычно идет в комплекте с Python, так что дополнительно устанавливать его не нужно.

Шаг 2: Импорт необходимых библиотек

Открой текстовый редактор или IDE, и начни с импорта библиотеки tkinter.

import tkinter as tk

Шаг 3: Создание основного окна

Создадим основное окно калькулятора.

root = tk.Tk()
root.title("Калькулятор")

Шаг 4: Добавление пользовательского интерфейса

Теперь добавим поле для ввода и кнопки для цифр и операций.

# Поле для отображения результата
entry = tk.Entry(root, width=16, font=('Arial', 24), borderwidth=2, relief='ridge')
entry.grid(row=0, column=0, columnspan=4)

# Функция для нажатий кнопок
def button_click(number):
    current = entry.get()
    entry.delete(0, tk.END)
    entry.insert(0, current + str(number))

def button_clear():
    entry.delete(0, tk.END)

def button_equal():
    try:
        result = eval(entry.get())
        entry.delete(0, tk.END)
        entry.insert(0, result)
    except Exception as e:
        entry.delete(0, tk.END)
        entry.insert(0, "Ошибка")

Шаг 5: Создание кнопок

Добавим кнопки для цифр и действий.

# Кнопки цифр
buttons = [
    ('7', 1, 0), ('8', 1, 1), ('9', 1, 2),
    ('4', 2, 0), ('5', 2, 1), ('6', 2, 2),
    ('1', 3, 0), ('2', 3, 1), ('3', 3, 2),
    ('0', 4, 1), ('+', 4, 0), ('-', 4, 2),
    ('*', 5, 0), ('/', 5, 1), ('C', 5, 2), ('=', 6, 0)
]

for (text, row, col) in buttons:
    if text == 'C':
        button = tk.Button(root, text=text, width=10, height=3, command=button_clear)
    elif text == '=':
        button = tk.Button(root, text=text, width=10, height=3, command=button_equal)
    else:
        button = tk.Button(root, text=text, width=10, height=3, command=lambda t=text: button_click(t))
    button.grid(row=row, column=col)

Шаг 6: Запуск приложения

Теперь добавим команду для запуска основного цикла приложения:

root.mainloop()

Полный код

Теперь соберем весь код вместе:

import tkinter as tk

root = tk.Tk()
root.title("Калькулятор")

# Поле для отображения результата
entry = tk.Entry(root, width=16, font=('Arial', 24), borderwidth=2, relief='ridge')
entry.grid(row=0, column=0, columnspan=4)

# Функции
def button_click(number):
    current = entry.get()
    entry.delete(0, tk.END)
    entry.insert(0, current + str(number))

def button_clear():
    entry.delete(0, tk.END)

def button_equal():
    try:
        result = eval(entry.get())
        entry.delete(0, tk.END)
        entry.insert(0, result)
    except Exception as e:
        entry.delete(0, tk.END)
        entry.insert(0, "Ошибка")

# Кнопки
buttons = [
    ('7', 1, 0), ('8', 1, 1), ('9', 1, 2),
    ('4', 2, 0), ('5', 2, 1), ('6', 2, 2),
    ('1', 3, 0), ('2', 3, 1), ('3', 3, 2),
    ('0', 4, 1), ('+', 4, 0), ('-', 4, 2),
    ('*', 5, 0), ('/', 5, 1), ('C', 5, 2), ('=', 6, 0)
]

for (text, row, col) in buttons:
    if text == 'C':
        button = tk.Button(root, text=text, width=10, height=3, command=button_clear)
    elif text == '=':
        button = tk.Button(root, text=text, width=10, height=3, command=button_equal)
    else:
        button = tk.Button(root, text=text, width=10, height=3, command=lambda t=text: button_click(t))
    button.grid(row=row, column=col)

root.mainloop()

Объяснение кода:

  • tk.Tk() — создает главное окно приложения.
  • tk.Entry — создает текстовое поле для отображения введенных значений и результатов.
  • command — определяет, какая функция будет вызываться при нажатии кнопки.
  • eval() — функция, которая вычисляет строку как математическое выражение.
  • grid() — размещает элементы интерфейса на окне в виде сетки.

Запускай этот код, и у тебя получится простой калькулятор с графическим интерфейсом! Если у тебя есть вопросы или нужно что-то дополнительно объяснить, дай знать!