Создание печати цикла for с индексом

#python #python-3.x #object #format #string-formatting

#python #python-3.x #объект #формат #форматирование строки

Вопрос:

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

Использую ли я цикл for для генерации переменной вместе с рядом, затем помещаю переменную в цикл for, который печатает числа, вот так:

 print("{0}. {1}".format(index_variable, wee(n)))
  

или я здесь иду совершенно неправильным путем?

Комментарии:

1. Возьмите пользовательский ввод внутри генератора, затем передайте генератор enumerate . Вы также можете просто выполнить цикл над range и запросить ввод внутри цикла.

Ответ №1:

 def fib(n):
    x = 0
    y = 1
    for i in range(n):
        yield y
        tmp = x
        x = y
        y  = tmp

def main():
     n = input('How many do you want: ')
     for i, f in enumerate(fib(n)):
         print("{0}. {1}".format(i, f)
  

Создайте генератор, который выдает нужные вам значения, а затем передайте это в enumerate