Решение модуля 6.14 Инди-курс программирования на Python

Модуль 6.14 (Функция enumerate). Функция enumerate помогает обойти итерируемые коллекции с возможностью одновременно получать индекс элемента и его значение.

Перед вами имеется список words

Ваша задача на основании создать список кортежей words_with_position, каждый элемент-кортеж должен содержать два значения: само слово и его порядковый номер в списке words

Порядковый номер слов необходимо считать с единицы. Вот к примеру, если бы список words был таким:

words = ['variation', 'random', 'electronics', 'competence', 'collapse']

то на выходите вы должны были получить такой ответ

words_with_position = [('variation', 1),
                       ('random', 2), 
                       ('electronics', 3), 
                       ('competence', 4), 
                       ('collapse', 5)]

В качестве ответа необходимо вывести words_with_position

words = ['feel', 'graduate', 'movie', 'fashionable', 'bacon', 
         'drop', 'produce', 'acquisition', 'cheap', 'strength', 
         'master', 'perception', 'noise', 'strange', 'am']
words_with_position = []                 # создаем пустой список для добавления наших кортежей
for i in enumerate(words, start=1):      # циклом получаем каждую пару(кортеж с индексом и словом)
    words_with_position.append(i[::-1])  # разварачивая этот кортеж добавляем его в список
print(words_with_position)               # выводим поолученный список с кортежами

Перед вами кортеж english_words

При помощи enumerate обойдите слова этой коллекции и для каждого элемента выведите строку вида

Word № {number} = {word}

Например, для кортежа english_words = ('hi', 'World') ответ был бы таким:

Word № 1 = hi
Word № 2 = World
english_words = ('attack', 'bless', 'look', 'reckless', 'short', 'monster', 'trolley', 'sound',
                 'ambiguity', 'researcher', 'trunk', 'coat', 'quantity', 'question', 'tenant',
                 'miner', 'definite', 'kit', 'spectrum', 'satisfied', 'selection', 'carve',
                 'ask', 'go', 'suggest')

# циклом проходимся по кортежам сгенерированными функцией, в которых храниться их индекс и слово
for index, value in enumerate(english_words, start=1): 
    print(f'Word № {index} = {value}')     # выводим полученные индексы и слова в нужном формате

А вы знали, что цифры на банковской карте выбираются не просто случайным образом?

Сумма определенных цифр на карте должны проходить условия алгоритма Луна

Алгоритм Луна

Упрощенная версия алгоритма выглядит так:

  1. Цифры проверяемой последовательности нумеруются справа налево.
  2. Цифры, оказавшиеся на нечётных местах, остаются без изменений.
  3. Цифры, стоящие на чётных местах, умножаются на 2.
  4. Если в результате такого умножения возникает число больше 9, оно уменьшается на значение 9
  5. Все полученные в результате преобразования 16 цифр складываются. Если сумма кратна 10, то исходные данные верны.

Ваша задача проверить является ли введенный номер карты валидным в соответствии с алгоритмом Луны

numbers = list(map(int, input()))  # получаем номер карты создаем из него список состоящий из каждой цифры номера
for index, value in enumerate(numbers): # проходимся по функции enumerate(numbers)
    if index % 2 == 0:             # если число кратное, то...
        if value * 2 > 9:          # проверяем если цифра при умножении на 2 больше 9 то отнимаем 9 и заменяем старую цифру в списке на новую
            numbers[index] = value * 2 - 9
        else:                      # иначе заменяем старую цифру на результат от умножения старой цифры на 2
            numbers[index] = value * 2

if sum(numbers) % 10 == 0:         # проверяем если сумма  новых цифр кратна 10, то выводим True, иначе False
    print('True')
else:
    print('False')

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x