Вывод не правильно форматируется

#python #function #floating-point

Вопрос:

Написание функции для преобразования градуса Цельсия в градус Фаренгейта. Я должен найти значение Фаренгейта, эквивалентное каждому значению Цельсия, и напечатать оба рядом в двухколоночной диаграмме. Числа ДОЛЖНЫ БЫТЬ ОТФОРМАТИРОВАНЫ В ОДИН(1) ИЛИ ДВА(2) ЗНАКА ПОСЛЕ ЗАПЯТОЙ. Все работает, кроме формата с точностью до двух знаков после запятой.

     def temp():
    g = range(0, 100)
    for temp in g:
        F = (9 / 5) * (temp)   (32)
        print("{:.2f}". format(F))    
        print(f'{float(temp)} {float(F):>25}')
    return F
print(temp())
 

.Последние несколько строк(все остальные строки функционируют, кроме последней)

 98.0        208.40                     
210.20      208.4
99.0        210.20000000000002
210.20000000000002
 

как сделать так, чтобы последнее число в обоих столбцах имело только 1 или 2 знака после запятой

Ответ №1:

Вы можете использовать

 F = round((9 / 5) * (temp)   (32), 2)
 

Ответ №2:

Использование print(f'{float(temp)} {float(F):>25.2f}') для замены 2-го оператора печати должно выполнить это. И чтобы сделать то же самое в последней строке справа, вы могли бы заменить окончательный отпечаток на print(f'{temp():>25.2f}') .

.2f округление до 2 знаков после запятой, как у вас в первом отпечатке.

Дополнительные сведения о форматировании строк см. в документах python PEP.

Ответ №3:

Используйте круглые

Измените последнюю строку на return round(F,2)