• Python. Напишите программу, которая принимает на вход список из строк, содержащих числа, и возвращает список из чисел, которые являются степенями двойки. Если в исходном списке есть строки, которые не являются числами или не являются степенями двойки, программа должна игнорировать эти элементы.Например, если на входе список ['2', '4', '8', '9', '16', 'abc'], то программа должна вернуть список [2, 4, 8, 16], так как только 2, 4, 8 и 16 являются степенями двойки, а строка 'abc' не является числом.

Ответы 1

  • Ответ:

    Програма запрашивает у пользователя данные через кому, например: 2, 4, 8, 9, 16, abc.

    user_list = input('Введите числа через кому: ')

    user_list = user_list.replace(', ', ',').split(',')

    result = []  # Тут будет наш готовый список

    for s in user_list:

       try:

           number = int(s)

           # Проверка на степень

           if number > 0 and (number & (number - 1)) == 0:

               result.append(number)

       except ValueError:

           pass

    # Выводим результат

    print(result)

    answer img
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years