shindayoni
@shindayoni
Студент

Как сделать перевод всех элементов списка в другую систему счисления?

5fd7a94b9706a074601897.jpeg
Я пробовал сам написать код, но он не работает и выводит ноли в каждой новой строчке. Использовал цикл for. Если сможете помочь, то объясните что и как работает, для меня это будет полезнее всего
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
YuriyVorobyov1333
@YuriyVorobyov1333
Software Developer
Вот решение:
new_num = '' # сюда записывается число

for num in range(1, 26): # перебираем числа от 1 до 25
  while num > 0: # работаем с числом
    new_num = str(num % 4) + new_num # находится остаток от деления числа на основание 4
    num //= 4 # делим нацело число на основание 4
  if (new_num.endswith('11')): # проверяем что число заканчивается на 11
    print(new_num) # выводим
  new_num = '' # обновляем строку
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
adugin
@adugin Куратор тега Python
print(*filter(lambda n: n <= 25, [int(f'{i}11', 4) for i in range(4)]), sep=', ')

Вместо filter() можно использовать itertools.takewhile()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы