【问题标题】:How to alter FOR loop checking condition on range values in PYTHON? [closed]如何更改 PYTHON 中范围值的 FOR 循环检查条件? [关闭]
【发布时间】:2020-10-18 17:22:18
【问题描述】:

有没有办法在 python 中使用 FOR 循环,以便可以更改范围值的检查条件。 基本上使用 FOR 循环将此代码转换为 python(不使用 while 循环或 if-break)。

for(int i = 1;i*i<=n;++i)
   { 
     #code statements
   }

【问题讨论】:

    标签: python python-3.x algorithm for-loop data-structures


    【解决方案1】:

    过滤器对你有用吗?

    n = 100
    for i in filter(lambda x: x**2 <= n, range(1, n)):
        print(i, i**2)
    

    【讨论】:

    • 哇,这太棒了,我不知道 filter()。谢谢
    【解决方案2】:

    您可以通过取n 的平方根预先检查i 的最大值。

    n = 10
    for i in range(1, int(n**0.5) + 1):
        print(i, i**2)
    
    1 1
    2 4
    3 9
    

    【讨论】:

    • 好吧,这是一种方法,但有没有一种方法可以改变 i 而非 n 的条件。谢谢顺便说一句。 :)
    • 不,python 的 for 循环基本上是一个 for-each,它没有像 java 中那样的 for 循环。因此,您必须使用 if 和 break 回退到 while 循环。见stackoverflow.com/questions/17415198/…
    • 好的,知道了。谢谢。
    猜你喜欢
    • 2018-03-09
    • 2013-08-14
    • 2022-12-16
    • 2022-06-10
    • 2012-12-05
    • 2013-03-27
    • 2023-03-18
    • 1970-01-01
    • 2016-01-05
    相关资源
    最近更新 更多