繁体   English   中英

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

[英]Printing from 1 to 99 using a print and for loop function

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

print(value for value in range(1,100))

IDLE中会生成一条消息

<generator object <genexpr> at 0x101b73a40>

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

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

print([value for value in range(1,100)])

或者你可以简单地

print(list(range(1,100)))

你可以阅读这里的发电机

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

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

print([value for value in range(1,100)])

您应该将它包含在list []以生成值

你想要的只是在这里使用列表推导,但你没有使用列表。
应该是

for i in range(1,100):
    print(i)

如果你仍想使用列表理解,它将是这样的

[print(x) for x in range(1,100)]

这会给输出像

1
2
3
....
99
100
[None, None, None, ...97 times more]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM