Проверка типов данных в функции
Если в функцию передаётся кортеж, то посчитать длину всех его слов. Если список, то посчитать кол-во букв и чисел в нём. Число – кол-во нечётных цифр. Строка – количество букв. Сделать проверку со всеми этими случаями.
`def func(a):`
`If a== tuple():`
`Return map(len(a.split()))`
`If a== float():`
`Return len(str(a))`
`If a== str():`
`Return len([i for i in a if i.isalpha()])`
Что я не так делаю?
Ответы (1 шт):
Советую использовать для проверки типов функцию isinstance(arg1, classinfo), где первый аргумент - это объект, тип которого нужно проверить, а второй это тип с которым нужно проверять(можно указывать несколько типов). И как было отмечено выше, приписывая у типа () вы вызываете их конструктор, который в свою очередь возвращает новый объект, сравнение с которым особого смысла не имеет. К тому же, использование "==" для проверки принадлежности к какому-либо типу может вызывать проблемы, хотя в вашем конкретном случае они маловероятны.