【问题标题】:For Loop in print statement is giving generator funtion as output [duplicate]打印语句中的 For Loop 将生成器函数作为输出 [重复]
【发布时间】:2019-03-11 00:31:42
【问题描述】:

这是我的程序,我不明白这个程序有什么问题。 我想打印给定示例输出中显示的模式

for i in range(1,int(input())):
    print(i for x in list(range(0,i)))

示例输入:

5

样本输出:

1
22
333
4444

程序给出的输出:

<generator object <genexpr> at 0x7feb4598cdb0>
<generator object <genexpr> at 0x7feb4598cdb0>
<generator object <genexpr> at 0x7feb4598cdb0>
<generator object <genexpr> at 0x7feb4598cdb0>

【问题讨论】:

  • 我相信你需要用[]包裹循环,即print([i for x in list(range(0,i))])
  • print("".join(str(i) for x in list(range(0,i)))) ?

标签: python


【解决方案1】:
for i in range(1,int(input())):
    print([i for x in range(0,i)])

python 中的生成器是用() 定义的,请确保使用括号来进行列表理解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 2020-02-03
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多