Добавить в корзинуПозвонить
Найти в Дзене

Калькулятор температуры кипения воды на Python

Сегодня напишем на Python программу с графическим интерфейсом, рассчитывающую понижение температуры кипения воды при повышении высоты местности над уровнем моря. Вверху текстовое сообщение "Температура кипения воды". Ниже – поле, обозначенное "Высота над уровнем моря, м" для ввода числового значения высоты местности над уровнем моря. Ещё ниже поле, обозначенное "Температура кипения воды, ⁰C". Ещё ниже две кнопки – "Вычислить" и "Завершить". При нажатии на кнопку "Вычислить" вычисляется температура кипения воды. При нажатии на кнопку "Завершить" программа закрывается. Если вместо числовых значений вводятся, например, буквы или слова, то в соответствующем поле появляется сообщение "Некорректный ввод данных". У программы будет окно 600 на 500 пикселей, кнопка "Закрыть", панель заголовка с названием «Температура кипения воды» и кнопкой-"крестиком" в правом углу для закрытия программы. Для создания графического интерфейса воспользуемся библиотекой PySimpleGUI – она позволяет быстро создават

Сегодня напишем на Python программу с графическим интерфейсом, рассчитывающую понижение температуры кипения воды при повышении высоты местности над уровнем моря.

Вверху текстовое сообщение "Температура кипения воды".

Ниже – поле, обозначенное "Высота над уровнем моря, м" для ввода числового значения высоты местности над уровнем моря.

Ещё ниже поле, обозначенное "Температура кипения воды, ⁰C".

Ещё ниже две кнопки – "Вычислить" и "Завершить".

При нажатии на кнопку "Вычислить" вычисляется температура кипения воды.

При нажатии на кнопку "Завершить" программа закрывается.

Если вместо числовых значений вводятся, например, буквы или слова, то в соответствующем поле появляется сообщение "Некорректный ввод данных".

У программы будет окно 600 на 500 пикселей, кнопка "Закрыть", панель заголовка с названием «Температура кипения воды» и кнопкой-"крестиком" в правом углу для закрытия программы.

Для создания графического интерфейса воспользуемся библиотекой PySimpleGUI – она позволяет быстро создавать кросс‑платформенные GUI‑приложения.

Шаг 1. Установка библиотеки

Если у вас ещё не установлена PySimpleGUI, выполните в терминале:

py -3 -m pip install pysimplegui

***

Шаг 2. Код программы:

import PySimpleGUI as sg

# Функция расчёта температуры кипения воды

def calculate_boiling_temp(height):

"""

Рассчитывает температуру кипения воды в зависимости от высоты над уровнем моря.

Формула приближённая: на каждые 300 м подъёма температура кипения падает примерно на 1 °C.

"""

if height < 0:

return "Высота не может быть отрицательной"

# Базовая температура кипения на уровне моря — 100 °C

boiling_temp = 100 - (height / 300)

return round(boiling_temp, 2)

# Описание интерфейса

layout = [

[sg.Text("Температура кипения воды", font=("Arial", 16, "bold"))],

[sg.Text("Высота над уровнем моря, м")],

[sg.Input(key="-HEIGHT-", size=(40, 1))],

[sg.Text("Температура кипения воды, °C")],

[sg.Input(key="-RESULT-", size=(40, 1), readonly=True)],

[sg.Button("Вычислить", key="-CALC-"), sg.Button("Завершить", key="-EXIT-")]

]

# Создание окна

window = sg.Window(

"Температура кипения воды",

layout,

size=(600, 500),

resizable=False,

finalize=True

)

# Основной цикл обработки событий

while True:

event, values = window.read()

if event in (sg.WIN_CLOSED, "-EXIT-"):

break

if event == "-CALC-":

try:

height = float(values["-HEIGHT-"])

result = calculate_boiling_temp(height)

window["-RESULT-"].update(result)

except ValueError:

window["-RESULT-"].update("Некорректный ввод данных")

# Закрытие окна

window.close()

***

Примечания

1. Температура кипения воды рассчитывается по упрощённой формуле T=100 – h / 300. В реальности зависимость сложнее: зависит ещё и от атмосферного давления, влажности и других факторов. Для точных расчётов можно использовать более сложные модели.

2. Поле результата сделано readonly, чтобы пользователь не мог его редактировать.

3. Встроенный текстовый dzen-редактор не позволяет сохранять отступы в публикуемом программном коде (отсутствие этих отступов в Python приведёт к ошибке!).