Получение бесконечного цикла в серии фибоначчи в Python

#Program to print fibonacci until a range. print "Fibonacci Series" print "Enter a range" range = raw_input() first=1 second =1 print first print ", " print second print ", " third = 0 while(third < range): third=first+second print third print ", " first = second second = third #End of program 

Здесь программа запрашивает у пользователя диапазон и печатает серию до диапазона. Но, получив серию бесконечного цикла. Может кто-нибудь мне помочь?

One Solution collect form web for “Получение бесконечного цикла в серии фибоначчи в Python”

range = raw_input() устанавливает range как строку , например, он присваивает range = '5' а не range = 5 .

Следовательно, сравнение third < range всегда будет True в Python 2.x *, поскольку целые числа всегда сравниваются меньше строк:

 >>> 10 < '5' True 

Минимальное исправление заключается в преобразовании ввода в целое число:

 range = int(raw_input()) 

Однако обратите внимание, что range – это встроенная функция , поэтому вы должны выбрать другое имя для этой переменной.

* Обратите внимание, что в 3.x сравнение строки с целым числом вызывает ошибку:

 >>> 10 < '5' Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> 10 < '5' TypeError: unorderable types: int() < str() 
  • Печать python после выполнения
  • возвращение из цикла
  • Эмулировать цикл do-while в Python?
  • создание суммы нечетных индексов python
  • Python Присвоить значение переменной во время условия while, в то время как Loop
  • Выход из цикла в Python
  • Как вернуть алфавитные подстроки?
  • Хотя однострочный контур цикла
  • Сохраняется только последняя итерация цикла while
  • Как запустить фоновый таймер в Python
  • Средний средний калькулятор
  • Python - лучший язык программирования в мире.