#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