Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 7, 2015 22:32:16

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

Вы когда 2 вводите, в заголовке цикла получается false (2 не меньше чем 2), цикл ни разу не выполняется и переменная result не создается, так как она в цикле у вас должна создаваться.

Отредактировано Art-master (Фев. 7, 2015 22:35:03)

Офлайн

#2 Фев. 7, 2015 22:37:08

alekscooper
Зарегистрирован: 2015-01-25
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

IndexError: list index out of range

У меня это не запустилось ни во втором, ни третьем питоне. Пишет вот эту ошибку и ругается на
n = int(sys.argv[1])

Я не оч понимаю, что делает эта строка.

Офлайн

#3 Фев. 7, 2015 22:45:08

Xryst
Зарегистрирован: 2015-01-30
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

Art-master
Вы когда 2 вводите, в заголовке цикла получается false (2 не меньше чем 2), цикл ни разу не выполняется и переменная result не создается, так как она в цикле у вас должна создаваться.

А как исправить данную проблему?

Офлайн

#4 Фев. 7, 2015 22:48:37

Xryst
Зарегистрирован: 2015-01-30
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

alekscooper
n = int(sys.argv)
Эта строка передает данные в программу….для обработки

Офлайн

#5 Фев. 7, 2015 22:49:04

alekscooper
Зарегистрирован: 2015-01-25
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

Xryst
А как исправить данную проблему?
Инициализировать result до цикла: result=0

Офлайн

#6 Фев. 7, 2015 22:49:54

alekscooper
Зарегистрирован: 2015-01-25
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

Xryst
Эта строка передает данные в программу….для обработки
А-а-а.. А что мешает через raw_input получать, если не секрет? Или это надо для каких-то других целей?

Офлайн

#7 Фев. 7, 2015 22:50:23

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

Вот хорошее исполнение алгоритма.

result = 1
i = 1
b = 0
n = int(input("N: "))
while i < n:
	t = b
	b = result
	result += t
	i += 1
print result

Офлайн

#8 Фев. 7, 2015 22:54:23

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

А лучше даже так

result, b = 0, 1
n = int(input("N: "))
for i in range(0, n):
	t = b
	b = result
	result += t
print result

Офлайн

#9 Фев. 7, 2015 23:23:10

Xryst
Зарегистрирован: 2015-01-30
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

С

Art-master
А лучше даже так
Не могу понять, что делает этот цыкл:
for i in range(0, n):

Офлайн

#10 Фев. 8, 2015 00:20:51

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Числа Фибоначчи без рекурсии, что я делаю не так?

Xryst
Не могу понять, что делает этот цыкл:
>>> for i in range(10):
...     print i
... 
0
1
2
3
4
5
6
7
8
9
>>> help(range)



————————————————
-*- Simple is better than complex -*-

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version