AlexBoss, главное не сложность, а действия. Т.е. другие алгоритмы - выдавали бы ошибку, в случае если бы передаваемый тип строки, вообще не может быть int или float. Или же имели баг, в верности ответа
В этом же варянте такая возможность поправлена. Если это строка, и она не может быть Int или Float, то вместо ошибки, вернёт None.
Ну, это если делать рассчёт на то, что в строке всё же может оказаться лишь просто строка
Вообще, не подходящее под условие решение.
isdigit() проверяет, состоит ли строка лишь из цифр.
По итогу, если к примеру тот же int будет в минус, - то False.
А так же не сможет точно определить, является ли второй тип - Float, т.к. к примеру, вдруг там будет написано '125,125'. Что не будет являться Float.
Т.е. это решение может просто лишь показать, есть ли в цифры, или же нет.
Алан Гибизов, это тактика от обратного. Т.е. если вопрос, это школьное задание, или ещё какой-то тест. То если проверяющий заметит такой ответ, сразу поймет что-то неладное (что не сам писал). И наоборот, если задающий вопрос, сможет понять логику поданного в таком виде. То и в обычном изображении всего, сможет написать
Алан Гибизов, а я так пишу лишь в ответах на qna. Когда же я сам встречаю такой код, я его сам переписываю на нормальный, и использую со спокойной душой
Хм.. это было довольно полезно. Сделал для себя так же небольшой вывод, чтоб лучше понимать происходящее
result = [(print(l, x), l)[1] for x in zip(one, two) for l in x]
В принципе, хоть сначала и показалось что выглядит не привычно, но всё же, всё следует некой иерархии. Сначала от главной части "for x in zip()" идёт вправо, для проверки или получения дополнительных условий, и как только они закончатся - возврат вперёд
Vindicar, Вообще, причина вопроса в том, что такой подход позволяет лучше понять некоторые механики, или узнать для себя что-то новое. Т.е., вряд ли же я буду вместо from m import * юзать какую-то замену. Но при этом иные способы и тд, тоже неплохо знать
Хм... Да, использовать ссылку на globals может быть полезно для объявления глобальных переменных. Но опять же, нужно из модуля получить список всех функций, что допустим можно сделать через dir(module), но как потом произвести присваивание, без использования чего-то по типу eval
В этом же варянте такая возможность поправлена. Если это строка, и она не может быть Int или Float, то вместо ошибки, вернёт None.
Ну, это если делать рассчёт на то, что в строке всё же может оказаться лишь просто строка