GUI Конвертер Цельсия в Фаренгейты на Python

GUI Конвертер цельсия в фаренгейты на Python Статьи

Введение

В ходе статьи напишем GUI конвертер градусов Цельсия в Фаренгейты на Python.

Конвертер Цельсия в Фаренгейты на Python

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

Дадим пользователю возможность ввода целочисленных данных (градусов Цельсия), после чего конвертируем их в Фаренгейты по формуле:

Ц = 5 / 9 * (Ф - 32)

Ц — температура в градусах Цельсия;
Ф — температура в градусах Фаренгейта.

Останется только вывести итоговый результат. Чтобы избежать ошибок, мы весь код напишем внутри конструкции try … except:

try:
    c = int(input('Введите градусы Цельсия: '))
    f = ((c * 9) / 5) + 32
    print(f'{c} градусов Цельсия равно {f} градусам Фаренгейта')
except ValueError:
    print('Вы ввели не число, попробуйте ещё раз.')

Результат:

Конвертер цельсия в фаренгейты на Python
Конвертер Цельсия в Фаренгейты на Python

GUI Конвертер Цельсия в Фаренгейты на Python

Теперь можем перейти к написанию GUI конвертера. Писать его мы будем с помощью модуля tkinter, поэтому импортируем его:

from tkinter import *

Создадим окно root, сделаем разрешение окна равным 400 на 250, добавим заголовок, методом resizable() запретим возможность изменять размеры окна, фон будет чёрный:

from tkinter import *

root = Tk()
root.geometry("400x250")
root.title('Конвертер градусов Цельсия в Фаренгейта')
root.resizable(width=False, height=False)
root['bg'] = 'black'

root.mainloop()

Добавим виджет Label, текст которого будет «Введите температуру в градусах Цельсия: «, шрифт Arial 12 bold, цвет текста lime, цвет фона чёрный и разместим его на окне методом pack():

from tkinter import *

root = Tk()
root.geometry("400x250")
root.title('Конвертер градусов Цельсия в Фаренгейта')
root.resizable(width=False, height=False)
root['bg'] = 'black'

Label(root, text="Введите температуру в градусах Цельсия: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

root.mainloop()

Теперь добавим текстовое поле, в которое пользователь будет вводить градусы Цельсия:

from tkinter import *

root = Tk()
root.geometry("400x250")
root.title('Конвертер градусов Цельсия в Фаренгейта')
root.resizable(width=False, height=False)
root['bg'] = 'black'

Label(root, text="Введите температуру в градусах Цельсия: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

e = Entry(root, font='Arial 16 bold')
e.pack(pady=10)

root.mainloop()

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

from tkinter import *

root = Tk()
root.geometry("400x250")
root.title('Конвертер градусов Цельсия в Фаренгейта')
root.resizable(width=False, height=False)
root['bg'] = 'black'

Label(root, text="Введите температуру в градусах Цельсия: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

e = Entry(root, font='Arial 16 bold')
e.pack(pady=10)

Button(root, text="Перевести в градусы Фаренгейта", font='Arial 10 bold', command=convert, pady=5, padx=5).pack(pady=10)

root.mainloop()

Добавим Label с текстом «Температура в градусах Фаренгейта равна: «:

from tkinter import *

root = Tk()
root.geometry("400x250")
root.title('Конвертер градусов Цельсия в Фаренгейта')
root.resizable(width=False, height=False)
root['bg'] = 'black'

Label(root, text="Введите температуру в градусах Цельсия: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

e = Entry(root, font='Arial 16 bold')
e.pack(pady=10)

Button(root, text="Перевести в градусы Фаренгейта", font='Arial 10 bold', command=convert, pady=5, padx=5).pack(pady=10)

Label(root, text="Температура в градусах Фаренгейта равна: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

root.mainloop()

И на последний виджет Label будем выводить подсчитанные градусы Фаренгейта:

from tkinter import *

root = Tk()
root.geometry("400x250")
root.title('Конвертер градусов Цельсия в Фаренгейта')
root.resizable(width=False, height=False)
root['bg'] = 'black'

Label(root, text="Введите температуру в градусах Цельсия: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

e = Entry(root, font='Arial 16 bold')
e.pack(pady=10)

Button(root, text="Перевести в градусы Фаренгейта", font='Arial 10 bold', command=convert, pady=5, padx=5).pack(pady=10)

Label(root, text="Температура в градусах Фаренгейта равна: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

converted = Label(root, text='', font='Arial 25 bold', bg='black', fg='lime')
converted.pack()

root.mainloop()

Осталось только добавить функцию convert(), на которую ссылается наша кнопка:

from tkinter import *


def convert():
    # В переменную "c" сохраняем введённые пользователем данные
    c = int(e.get())
    # В переменную "f" сохраняем подсчёты
    f = ((c*9) / 5) + 32
    # Выводим итоговый результат в Label под названием "converted"
    converted['text'] = f


root = Tk()
root.geometry("400x250")
root.title('Конвертер градусов Цельсия в Фаренгейта')
root.resizable(width=False, height=False)
root['bg'] = 'black'

Label(root, text="Введите температуру в градусах Цельсия: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

e = Entry(root, font='Arial 16 bold')
e.pack(pady=10)

Button(root, text="Перевести в градусы Фаренгейта", font='Arial 10 bold', command=convert, pady=5, padx=5).pack(pady=10)

Label(root, text="Температура в градусах Фаренгейта равна: ", font='Arial 12 bold', fg="lime", bg="black").pack(pady=10)

converted = Label(root, text='', font='Arial 25 bold', bg='black', fg='lime')
converted.pack()

root.mainloop()

Результат:

GUI Конвертер цельсия в фаренгейты на Python
GUI Конвертер цельсия в фаренгейты на Python

Заключение

В ходе статьи мы с Вами создали простой Конвертер Цельсия в Фаренгейты на языке программирования Python, а так же версию с графическим интерфейсом. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Admin
Admin
IT Start