【发布时间】:2016-02-18 00:01:38
【问题描述】:
我是 Python 新手。
这是我写的打印x^3的简单代码
def f(n):
for x in range(n):
yield x**3
for x in f(5):
print x
打印正确答案。
def f(n):
return [x**3 for x in range(n)]
for x in f(5):
print x
也打印正确答案
def f(n):
for x in range(n):
return x**3
for x in f(5):
print x
我得到了一个
TypeError: 'int' object is not iterable
那么第三段代码有什么问题。
【问题讨论】:
-
f(5)返回一个整数 -
第三个
f返回一个 int ONCE(第一次迭代)(提醒调用return将立即退出一个方法) -
你的其他两个函数返回一个 i。迭代器和一个 ii。列表
-
感谢 R Nar。这正是我想了解的。