ape*_*x39 1 python iteration integer ipython
def rect_extend(x):
m, n = 1
while 1 < x:
m = m + 1
n = n + 1
return m, n
Run Code Online (Sandbox Code Playgroud)
这个简单的函数返回:
'int'对象不可迭代
iPython中的错误.我不知道它为什么这样做,while功能不起作用 - 条件似乎是true.
(虽然条件是故意简化的;原始代码没有它)
当你这样做时m, n = 1称为元组解包,它的工作原理如下:
>>> m, n = ('a','b')
>>> m
'a'
>>> n
'b'
Run Code Online (Sandbox Code Playgroud)
既然1是一个整数而不是一个元组,你会得到这个奇怪的错误; 因为Python无法"逐步"(或迭代)整数来解压缩它.这就是为什么错误是'int'对象不可迭代的原因