Форум сайта python.su
Вот у меня есть такая часть кода:
# -*- coding: cp1251 -*-
n = input("Введите последнее число дапозона ряда Фиббоначи: ")
def fib(n):
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
if n==int: print "Введенное число должно быть целым и больше 0"
else:
fib(n)
# -*- coding: cp1251 -*-
def fib(n):
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
n = int(input("Введите последнее число дапозона ряда Фиббоначи: "))
if n<0: print "Введенное число должно быть целым и больше 0"
else:
fib(n)
Отредактировано (Сен. 24, 2010 10:59:18)
Офлайн
breidosВы пытались сравнить “тип” с числом.
Хочу выполнить такое условие: “Введенное число должно быть целым и больше 0”
>>> a=15
>>> a
15
>>> type(a)
<type 'int'>
>>> int
<type 'int'>
if type(a)==int and a>0
Офлайн
igor.kaistнаверно идеологически правильнее будет использовать isinstance :)
if type(a)==int and a>0
Офлайн
Вот у меня есть такой код:
# -*- coding: cp1251 -*-
def fib(n):
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
c=0
d=1
while c!=d:
n = input("Введите последнее число дапозона ряда Фиббоначи: ")
if type(n)==int and n>0:
fib(n)
c=1
else:
print "Введенное число должно быть целым и больше 0"
Офлайн
я в этом случае добавил
f=fib2(1000)
d=len(f)
x,y=0,5
while x<=d:
print f[x:y]
x,y=x+5,y+5
Отредактировано (Сен. 25, 2010 11:16:28)
Офлайн
На вскидку:
def fibonacci():
a, b = 0, 1
while 1:
yield b
a, b = b, a+b
def fibonacci_print(range):
f = fibonacci()
current_number = f.next()
c = 1
while current_number <= range:
if c % 5:
print current_number,
else:
print current_number
c += 1
current_number = f.next()
c=0
d=1
while c!=d:
while True:
if <condition>:
break;
Отредактировано (Сен. 26, 2010 22:12:44)
Офлайн
Почему не работает такая система?
while b<10: print (b) a=b b=a+b
Офлайн
Если начальное значение b задано не меньше 10, то цикл ни разу не выполнится, иначе всё работает
Офлайн
Это неправильное решение, ибо надо, по моему мнению вводить третью переменную.
>>> a=0 >>> b=1 >>> while b<10: print (b) a=b b=a+b 1 2 4 8 >>>
>>> a=0 >>> b=1 >>> c=0 >>> while b<10: c=a+b a=b b=c print(c)
Офлайн
a,b=b,a+b
a=b b=a+b
Офлайн