Какие выражения можно преобразовать в целое десятичное число?
Чтобы получить ответ, необходимо каждое из выражений мысленно обернуть в функцию int(). Делать это на практике не рекомендуется, так как на пункте «В» ваш ПК намертво повиснет.
А) Строку преобразовать нельзя, так как в ней есть буквенный символ, не имеющий численного представления в десятичной системе счисления.
Решение - Интерактивный режим
>>> int('123е')
# Получим ошибку ValueError
Б) Строку, имитирующую число с плавающей точкой к типу int преобразовать не получится.
Решение - Интерактивный режим
>>> int('91.4')
# Получим ошибку ValueError
В) Хоть число и имеет немыслимые размеры, при достаточном объеме памяти оно будет преобразовано к типу int;
Решение - Интерактивный режим
>>> int(524.345 ** 435345345311145345) # Сначала вычисляется возведение в степень, а потом преобразование к целому числу
Г) Это строка, которая неприводима к целому числу.
Решение - Интерактивный режим
>>> int('7.1 + 4')
# Получим ошибку ValueError
Д, Е) Строку и число либо выражение внутри строки нельзя сделать целым числом.
Решение - Интерактивный режим
>>> int('4' - 2)
# Получим ошибку TypeError
>>> int('4 - 2')
# Получим ошибку ValueError
Ж) Если внутри строки имеются лишь числа, то Python без проблем сделает из них int
Решение - Интерактивный режим
>>> int('42')
42
З) Число с плавающей точкой преобразуется в целое методом отсечения дробного остатка.
Решение - Интерактивный режим
>>> int(-12.12) -12
Следовательно, правильные ответы: В, Ж, З.