DamiRocK

Python: int(), str(), float() и целая часть температуры

Последовательно преобразуем 36.6 в целое число и строку с подписью °C. Разбираем усечение к нулю, недопустимую строку и отличие преобразования от округления.

Преобразование задаётся явно

int("345") создаёт целое число 345, float("2.7") — число с плавающей точкой, str(42) — строку "42". Эти вызовы нужны, когда полученные данные имеют другой тип, чем требует дальнейшая операция.

Не всякая строка подходит для любого преобразования: int("2.7") вызывает ValueError, а не округляет десятичную запись.

Задание источника

В переменной temperature находится 36.6. Сначала преобразуйте значение в целое, затем в строку и выведите с подписью °C через пробел:

temperature = 36.6
int_value = int(temperature)
str_value = str(int_value)
print(str_value + " °C")

Ответ — 36 °C. Это упражнение на типы, не медицинская интерпретация температуры.

Усечение не равно округлению

Для конечного float функция int() отбрасывает дробную часть в направлении нуля. Поэтому int(36.6) равно 36, int(-3.5) — −3. Последний результат отличается от округления вниз, которое дало бы −4.

Если требуется ближайшее целое, используется другое правило, например round(); нельзя заменять его усечением без изменения результата задачи.

Текстовое представление

str_value хранит строку, поэтому её можно соединить с " °C". Кавычки вокруг литерала не выводятся. В исходных пояснениях рядом с print(str(...)) показаны кавычки как обозначение строкового значения; фактический print() этих внешних кавычек не добавляет.

Для произвольного пользовательского ввода нужно также решать, что делать с недопустимыми значениями. В текущем упражнении вход фиксирован и корректен, поэтому обработка ошибок не включена в минимальное решение.

Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Упражнение сохранено; усечение и вид вывода уточнены.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.