【发布时间】:2019-11-26 14:24:57
【问题描述】:
def rydbergEquation(finalEnergyLevel, initialEnergyLevel):
return ((1.0974 * 10**7) * (1 / (finalEnergyLevel**2)) - (1 / (initialEnergyLevel**2)))**-1
print("Energy Level (2 to 1): ", rydbergEquation(1, 2))
print("Energy Level (3 to 1): ", rydbergEquation(1, 3))
print("Energy Level (4 to 1): ", rydbergEquation(1, 4))
print("Energy Level (5 to 1): ", rydbergEquation(1, 5))
print("Energy Level (6 to 1): ", rydbergEquation(1, 6))
print("Energy Level (7 to 1): ", rydbergEquation(1, 7))
print("Energy Level (3 to 2): ", rydbergEquation(2, 3))
print("Energy Level (4 to 2): ", rydbergEquation(2, 4))
print("Energy Level (5 to 2): ", rydbergEquation(2, 5))
print("Energy Level (6 to 2): ", rydbergEquation(2, 6))
print("Energy Level (7 to 2): ", rydbergEquation(2, 7))
print("Energy Level (4 to 3): ", rydbergEquation(3, 4))
print("Energy Level (5 to 3): ", rydbergEquation(3, 5))
print("Energy Level (6 to 3): ", rydbergEquation(3, 6))
print("Energy Level (7 to 3): ", rydbergEquation(3, 7))
print("Energy Level (5 to 4): ", rydbergEquation(4, 5))
print("Energy Level (6 to 4): ", rydbergEquation(4, 6))
print("Energy Level (7 to 4): ", rydbergEquation(4, 7))
print("Energy Level (6 to 5): ", rydbergEquation(5, 6))
print("Energy Level (7 to 5): ", rydbergEquation(5, 7))
print("Energy Level (7 to 6): ", rydbergEquation(6, 7))
我可以删除 21 个print 语句并创建一个 for 循环来输出给定的值吗?
我似乎无法找到一种方法来循环该函数以获得不同能级变化的输出。我假设您可以遍历范围并输出给定的值,但是我很难找到正确的方法来执行此操作,而不会使输出看起来有偏差。
通过使用某种双 for 循环,我可以看到它在工作。
解决方案:
itertools 有一个很好的组合方法,我最终使用了。
【问题讨论】:
标签: python python-3.x loops for-loop repeat