← Все вопросы
Чем int(input()) отличается от float(input()) и когда что брать?
5
В одних задачах в разборах пишут int(input()), в других float(input()). Я не до конца понимаю разницу. Когда брать int, а когда float? И почему int(input()) падает, если я ввожу 3.5?
2 ответа
10
✓ Принятый ответ — помог автору
Разница в типе числа:
int(...)— целое число: 5, -3, 0. Дробную часть оно не понимает, поэтомуint('3.5')падает сValueError.float(...)— дробное (с точкой): 3.5, -0.1, 2.0.
Правило простое: если по смыслу величина целая (количество, возраст, номер) — бери int. Если может быть дробной (цена, рост, среднее) — бери float:
age = int(input('Возраст: ')) # 17
height = float(input('Рост, м: ')) # 1.75
Если не уверен и числа могут быть дробными — безопаснее float, он примет и 5, и 5.0.
3
Маленький нюанс: float принимает целые тоже (float('5') это 5.0), а вот int дробные — нет. Поэтому если на входе бывают и те и другие, float универсальнее.
Ваш ответ
Войдите, чтобы ответить на вопрос.