Вопрос №577 от пользователя Mark в уроке «Основы синтаксиса», курс «Введение в Python»

Mark

объясните пожалуйста почему код не проходит ваш тест, в то время как у меня все проверки успешны?

Python->Типы-коллекции->test3

def flatten(lists): 
    results = [] 
    for numbers in lists: 
        if type(numbers)==int: 
            numbers = [numbers] 
        elif type(numbers)==set: 
            numbers = list(numbers) 
        for i in range(len(numbers)):   
            results.append(numbers[i]) 
    results.sort() 
    return results

спасибо

3 0

Ivan Grishaev

Элементом может быть не только множество, но и список, кортеж. То есть тип элемента нужно проверять на set, list, tuple, а не только на set.

Кроме того, избегайте явного сравнения типов type(obj) == set. Используйте isinstance(obj, int) или для нескольких типов isinstance(obj, (type1, type2, ...)).

0

Mark

я без поняття, переробив щоб прохидило перевірки на всі типи і знов облом. Чи могли б ви підкоректувати мій код або в крайньому випадку рішення кинути, а я вже розберусь??... не охота продовжувати далі поки всі задачі не зробив

0

Ivan Grishaev

Я приведу ключевое условие:

if isinstance(item, (list, tuple, set)):
    ...process as nested item
else:
    ...process as single item
0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
1 июня 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
1 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
1 июня 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
1 июня 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
1 июня 5 месяцев