Я написал сценарий для серии Фибоначчи с назначением однострочной переменной и назначением переменной переменной строки. У меня две разные результатыВ python какая разница между назначением переменной в одной строке и назначением переменной в нескольких строках
Несколько линий:
class fibonacci:
def fib(self,num):
result = []
a = 0
b = 1
while a < num:
result.append(a)
a = b
b = a + b
return result
instance = fibonacci()
new_inst = instance.fib(100)
print new_inst
выход:
[0, 1, 2, 4, 8, 16, 32, 64]
Заказать Изменено:
class fibonacci:
def fib(self,num):
result = []
b = 1
a = 0
while a < num:
result.append(a)
b = a + b
a = b
return result
instance = fibonacci()
new_inst = instance.fib(100)
print new_inst
Выход:
[0, 1, 2, 4, 8, 16, 32, 64]
Одна линия:
class fibonacci:
def fib(self,num):
result = []
a,b = 0,1
while a < num:
result.append(a)
a,b = b, a + b
return result
instance = fibonacci()
new_inst = instance.fib(100)
print new_inst
выход:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
класса 'Фибоначчи: Защиту FIB (сам, Num): результата = [] а, б = 0,1 в то время как <число: result.append (а) Ь = а + Ь = б возвращаемый результат экземпляр = Фибоначчи() new_inst = instance.fib (100) печати new_inst', но все еще я получил тот же результат: [0, 1, 2, 4, 8, 16, 32, 64] – user60679
Я изменил порядок, но все же у меня есть два разных выхода – user60679
Обновлено @ user60679 – gtlambert