Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.98/55: Рейтинг темы: голосов - 55, средняя оценка - 4.98
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 304
1

Программа, переводящая градусы по Фаренгейту в градусы по Цельсию

01.07.2019, 14:47. Показов 10222. Ответов 4
Метки нет (Все метки)

Напишите программу, переводящую градусы по Фаренгейту в градусы по Цельсию. Интерфейс работы с программой представлен ниже:
Программа, переводящая градусы по Фаренгейту в градусы по Цельсию

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import tkinter
# Вызывается в момент нажатия на кнопку:
def click():
# Получаем строковое содержимое поля ввода с помощью метода get()
# C помощью config() можем изменить отображаемый текст
    converter.set (5/9*(converter.get()-32))
window = tkinter.Tk()
frame = tkinter.Frame(window)
frame.pack()
# Модель: создаем объект класса IntVar
converter = tkinter.IntVar()
# Обнуляем созданный объект с помощью метода set()
#converter.set(0)
entry = tkinter.Entry(frame)
entry.pack()
label = tkinter.Label(frame, textvariable=converter)
label.pack()
# Привязываем обработчик нажатия на кнопку к функции click()
button = tkinter.Button(frame, text='CONVERT', command=click)
button.pack()
window.mainloop()
так вроде все неплохо, только не зависимо от того, что я ввожу, мне выдается ответ -17.777, т.е. значение, когда температура в фарнегейтах равна нулю. Помогите, пожалуйста, исправить.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2019, 14:47
Ответы с готовыми решениями:

Перевод температуры из градусов Цельсия в градусы Фаренгейта
Программа просит ввести температуру в градусах Цельсия, переводит её в градусы Фаренгейта...

Перевод градусов по Фаренгейту в градусы по Цельсию
program ex_1; var m,n : real; BEGIN Writeln ( 'введите значение температуры в градусах...

Реализовать конвертер градусов по Фаренгейту в градусы по Цельсию (C++98)
Написать программу, которая получает данные по Фаренгейту и преобразует их в данные по Цельсию для...

Запросить у пользователя температуру в градусах по Фаренгейту, и перевести ее в градусы по Цельсию
помогите решить задачу Напишите программу, которая запрашивает у пользователя температуру в...

4
114 / 22 / 3
Регистрация: 11.09.2017
Сообщений: 141
Записей в блоге: 4
01.07.2019, 15:23 2
Лучший ответ Сообщение было отмечено catauggie как решение

Решение

catauggie,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import tkinter
# Вызывается в момент нажатия на кнопку:
def click():
# Получаем строковое содержимое поля ввода с помощью метода get()
# C помощью config() можем изменить отображаемый текст
    converter.set('{:.2f}'.format((5/9*(float(entry.get())-32))))
window = tkinter.Tk()
frame = tkinter.Frame(window)
frame.pack()
# Модель: создаем объект класса IntVar
converter = tkinter.IntVar()
# Обнуляем созданный объект с помощью метода set()
#converter.set(0)
entry = tkinter.Entry(frame)
entry.pack()
label = tkinter.Label(frame, textvariable=converter)
label.pack()
# Привязываем обработчик нажатия на кнопку к функции click()
button = tkinter.Button(frame, text='CONVERT', command=click)
button.pack()
window.mainloop()
Добавлено через 1 минуту
что такое
Цитата Сообщение от catauggie Посмотреть сообщение
converter = tkinter.IntVar()
честно говоря я так и не понял. Давно с tkinter не работал
1
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 304
01.07.2019, 15:26  [ТС] 3
tabbols95 , спасибо за помощь. А все-таки, в чем прикол-то:
Python
1
 converter.set('{:.2f}'.format((5/9*(float(entry.get())-32))))
Зачем нужно это '{:.2f}?

Добавлено через 1 минуту
Цитата Сообщение от tabbols95 Посмотреть сообщение
converter = tkinter.IntVar()
я думал это нужно для ввода значения.
0
114 / 22 / 3
Регистрация: 11.09.2017
Сообщений: 141
Записей в блоге: 4
01.07.2019, 15:29 4
catauggie, вы плохо обратили внимание, но я главное исправил
Цитата Сообщение от catauggie Посмотреть сообщение
5/9*(float(entry.get())-32)
вот здесь, вместо вашего converter сюда я поставил entry.get(), чтобы входные данные читались из entry. {:.2f} - это просто плюшка для округления числа до 2-х знаков после запятой.
1
2 / 2 / 0
Регистрация: 25.02.2021
Сообщений: 7
17.03.2021, 13:05 5
Полное решение задачи (с добавлением кнопки Quit и при неправильном вводе значения программа не останавливается как в решении, представленном выше).
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import tkinter
def click(): 
    try:
        res=(float(entry.get())-32)/1.8
        label.config(text=res)
    except:
        label.config(text='Enter the correct value!')
window = tkinter.Tk()
frame = tkinter.Frame(window)
frame.pack()
lbl=tkinter.Label(frame, text='Temperature in Fahrenheit', font=("Arial Bold", 15))
lbl.pack()
entry = tkinter.Entry(frame, width=20)
entry.pack()
entry.focus()
label = tkinter.Label(frame)
label.pack()
button1 = tkinter.Button(frame, text='Convert', command=click, bg='black', fg='red')
button1.pack()
button2 = tkinter.Button(frame, text='Quit', bg='black', fg='red', command=window.destroy)
button2.pack()
window.mainloop()
P.S. Поиграл со шрифтом и цветом кнопок.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2021, 13:05

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Напишите программу, выводящую таблицу преобразования градусов по Цельсию от 0 до 100 в градусы по Фаренгейту
Напишите программу, выводящую таблицу преобразования градусов по Цельсию от 0 до 100 в градусы по...

Перевести градусы по Цельсию в градусы по Кельвину
С помощью C# Создать приложение, с помощью которого можно перевести градусы по Цельсию в градусы по...

Программа, которая переводит градусы Кельвина в градусы Цельсия
Напишите программу, которая бы переводила градусы Кельвина в градусы Цельсия и наоборот. Проверить...

Перевести 2 градуса Кельвина в градусы по Цельсию
Помогите решить задачу. 1.Перевести 2 градуса Кельвина в градусы по Цельсию 2. Перевести 22...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.