【问题标题】:TCL like for loop in pythonTCL就像python中的for循环
【发布时间】:2017-07-17 16:22:40
【问题描述】:

我正在寻找类似于 Python 中其他语言 PERL/TCL/C++ 的 for 循环。

就像下面的 TCL 中的 for 循环

for { set i 0 } { $i < $n } { incr i} {

#I like to increment i value manually too like
if certain condition is true then increment
set i = [expr i+1] # in some cases
print i

我在 python 中也有类似的方法。在python中我知道下面是for循环语法

for i in var1
#How to increment var1 index manually in some scenarios

【问题讨论】:

  • 将您的示例中的 var1 替换为 range(0, n, 1)
  • @DaleWilson:每次都会增加一。但是如果我们想根据条件增加,比如某些场景增加 2

标签: python


【解决方案1】:

用途:

for i in range(0, n):
 # Do something

另外,你可以使用:

i = 0
while i<n:
 # Do something
 i+=1

【讨论】:

  • 如果我们想在 for 循环中手动跳过一些迭代,我们可以这样做
  • 是的,但是你会有下一个号码。
  • 把 if 语句放在你需要的地方。
  • 这里的主题是“为工作使用正确的工具!”如果增量是统一的,使用for 如果需要自定义,使用while
【解决方案2】:

Python 的 range 函数,像 range(b, e, i) 一样调用,将产生从 b 开始到 e 结束的整数,每次递增 i

【讨论】:

  • 如果某些条件为真,如何递增
  • 为每次迭代添加一个 if 块。如果条件不为 True,您可以使用 continue 移动到下一次迭代。
  • 听起来,如果您还希望能够手动递增i,请使用while 循环
【解决方案3】:

Python 没有那种for 循环,所以使用while 循环。

i = 0
while i < n:
    # ...
    if some_condition: # Extra increment
        i += 1
    i += 1 # normal increment

【讨论】:

  • 是的 while 循环我知道。我认为我缺少 for 循环中的某些内容。感谢您的澄清
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-10
  • 1970-01-01
  • 2020-10-18
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多