← Все вопросы

Чем int(input()) отличается от float(input()) и когда что брать?

Задан 25 месяцев назад1.1к просмотров2 ответа
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 универсальнее.

Ваш ответ

Войдите, чтобы ответить на вопрос.