我对范围在迭代值方面的工作方式感到困惑。
这是我突然遇到问题的地方。这是以弧度表示的正弦 v. 度数的代码:
for angle in range(10):
y = math.sin(math.radians(angle))
print(y)
我完全理解这一点。Python 将为从 0 到 9 的每个度数计算一个正弦值。
我遇到问题的地方是这段代码:
def square(x):
runningtotal = 0
for counter in range(x):
runningtotal = runningtotal + x
return runningtotal
toSquare = 10
squareResult = square(toSquare)
这只是一个通过将 10 相加 10 次得出 100 得出平方计算的代码。
我遇到的问题是,在正弦代码中,当 math.sin 在通过范围时被调用时,它在概念上将其视为[0,1,2,3,4,5,6,7,....]
并计算每个数字的正确正弦值,直到它通过范围。
但是当我查看平方码时,对我来说range(x)
,在哪里square(ToSquare)
与 相同square(10)
,在概念上应该等于[0,1,2,3,4,5,6,7,8,9]
。但很明显,代码正在查看数字 10 的 10 次迭代。
我在哪里感到困惑?