【问题标题】:Need help in understanding this loop需要帮助来理解这个循环
【发布时间】:2020-07-23 00:45:03
【问题描述】:
for k in range (1, len(str)):
    for i in range (0, (len(str)-k + 1)):
        j = i + k-1
        X[i][j] = 0

我正在看第 2 行、第 3 行并且发疯了。感谢帮助

要添加更多信息,我已经完成了研究,它基本上计算了 j 以便可以填充 X[i][j]。但是推导出什么样的逻辑来计算 j 是我没有得到的 当 k 为 1 时 0, 0 1,1 2,2等被访问 当 k 为 2 时 0,1 1,2 2,3 被访问。 谢谢

【问题讨论】:

  • 你不明白什么?
  • 逻辑,它试图在每一行做什么。我添加了基本上填充二维列表的下一行。但是我迷失了计算 j 和 i 范围的逻辑
  • 你试过打印j看看有没有图案吗?
  • 它变为 0,0; 1,1; 2,2;等然后 0,1;1,2 填充这些索引处的插槽。但我没有得到关于如何实现 j 的逻辑,即解释
  • 第一次循环,k=1,所以k-1=0,所以j = i。第二次,k=2,所以k-1=1,所以j = i+1。以此类推。

标签: python logic


【解决方案1】:

在嵌套的 for 循环中,您总是从内部开始,然后移出。为了回答这个问题,我将值设置为 len(str) -> 4。

这就是循环的工作方式:

k=1, i=0
k=1, i=1
k=1, i=2
k=1, i=3
k=2, i=0
k=2, i=1
k=2, i=2
k=3, i=0
k=3, i=1

对于外循环的每次迭代,我们都会遍历内循环的所有迭代。

【讨论】:

  • 我理解从内循环到外循环的概念。但我试图理解从两个循环中计算 j 的逻辑。
猜你喜欢
  • 2019-06-07
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
  • 2020-08-06
相关资源
最近更新 更多