Какие выражения можно преобразовать в целое десятичное число?
Чтобы получить ответ, необходимо каждое из выражений мысленно обернуть в функцию 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
Следовательно, правильные ответы: В, Ж, З.