修复python中嵌套的for循环

时间:2020-09-11 19:12:06

标签: python loops

我正在尝试编写一段代码,以这样的方式计算波长值:在n = 1时,它检查k = 2、3、4、5和6的值。我需要这样做直到n = 4,从n + 1开始有5个连续整数k。IE,如果n = 3,请检查k = 4、5、6、7和8。因此总共有20个波长。我目前拥有的代码可以打印出20个波长,第一个波长对于每个n都是正确的,但是接下来的4个波长是不正确的。我不确定如何解决此问题,请帮助

for n in range (1, 5):
    for k in range (2, 7):
        k = n + 1
        RH = 1.09678e-2
        waveLength = 1 / (R_H * (1/n**2 - 1/k**2))
        print(waveLength)

1 个答案:

答案 0 :(得分:2)

您的内部循环每次都使用相同的k = n + 1值,而不使用来自k的{​​{1}}的值。

内部循环的范围必须基于range(2, 7),而不是固定数字。

n

另一种方法是在内部循环中使用for n in range(1, 5): for k in range(n+1, n+6): RH = 1.09678e-2 waveLength = 1 / (R_H * (1/n**2 - 1/k**2)) print(waveLength) ,并添加两个值:

range(1, 6)