Вопрос:

Соедини выражения с их типами. Расставь выражения в подходящие столбцы.

Смотреть решения всех заданий с листа

Ответ:

Решение:

Часть 1: Соедини выражения с их типами

  • 1 --- int
  • int("2") --- int
  • str(3 * 4) --- int
  • int("123 45") // 4321 --- int

Объяснение:

  • Числа вроде 1 и выражения, которые вычисляются в целые числа (3 * 4), имеют тип int (целое число).
  • Функция int() преобразует строку в целое число, если это возможно.
  • str() преобразует что-либо в строку. В данном случае, строка "123 45" с комментарием // 4321, все равно остается строкой.

Часть 2: Расставь выражения в подходящие столбцы

Корректное выражение

  • int("35-123") - Хотя строка содержит дефис, функция int() может попытаться преобразовать ее, но это может привести к ошибке, если строка не является числом. В контексте Python, это будет ошибка, так как "35-123" не является числом.

Выдаст ошибку

  • int("-1") - Эта строка содержит отрицательное число и будет корректно преобразована в целое число -1.

Пересмотр и уточнение:

Исходя из стандартного поведения Python:

  • int("35-123") вызовет ошибку ValueError, так как "35-123" не является корректным числовым представлением.
  • int("-1") корректно преобразуется в целое число -1.
  • str(3 * 4) преобразует результат умножения (12) в строку "12".
  • int("123 45") // 4321 Эта строка содержит пробелы, что приведет к ошибке ValueError при попытке преобразования в int.

Финальное распределение:

Корректное выражение

  • int("-1")

Выдаст ошибку

  • int("35-123")
  • int("123 45") // 4321

Ответ:

  • Типы:
    • 1 --- int
    • int("2") --- int
    • str(3 * 4) --- int
    • int("123 45") // 4321 --- str (так как содержащая пробелы строка не может быть преобразована в int, и остается строкой)
  • Столбцы:
    • Корректное выражение: int("-1")
    • Выдаст ошибку: int("35-123"), int("123 45") // 4321
ГДЗ по фото 📸