使用打印和循环功能从1到99打印

use*_*724 6 python for-loop python-3.x

我在Python 3.6的IDLE中尝试了以下内容

print(value for value in range(1,100))
Run Code Online (Sandbox Code Playgroud)

IDLE中会生成一条消息

<generator object <genexpr> at 0x101b73a40>

我很困惑这意味着什么.我做错了什么吗?

vis*_*ell 13

(value for value in range(1,100))生成generator对象,如果要打印list,只需将其包装[]

print([value for value in range(1,100)])
Run Code Online (Sandbox Code Playgroud)

或者你可以简单地

print(list(range(1,100)))
Run Code Online (Sandbox Code Playgroud)

你可以阅读这里的发电机

一个返回生成器迭代器的函数.它看起来像一个普通的函数,除了它包含yield表达式,用于生成一个在for循环中可用的值,或者可以使用next()函数一次检索一个值.

通常是指生成器函数,但在某些上下文中可能指的是生成器迭代器.如果预期含义不明确,则使用完整术语可避免含糊不清.