![](/img/trans.png)
[英]How does indentation affect the scope of the variable inside a for loop in Python?
[英]Python - how does the variable affect the loop
我想知道為什么從版本1的arr [n]更改為版本2的n時為什么會有不同的結果:
版本1
def summer_69(arr):
list_sum2 = 0
n = 0
for arr[n] in range(arr[n] == 6, (arr[n]== 9) + 1):
list_sum2 += arr[n]
print(list_sum2)
summer_69([1, 3, 5])
summer_69([4, 5, 6, 7, 8, 9])
版本1的結果
0
0
版本2
def summer_69(arr):
list_sum2 = 0
n = 0
for n in range(arr[n] == 6, (arr[n]== 9) + 1):
list_sum2 += arr[n]
print(list_sum2)
summer_69([1, 3, 5])
summer_69([4, 5, 6, 7, 8, 9])
第2版的結果
1
4
范圍不是這樣的。
在這一行:
for n in range(arr[n] == 6, (arr[n]== 9) + 1):
arr[n] == 6
和(arr[n]== 9) + 1
返回的是真值,因為==
是一個比較運算符,因此n
最多為0或1。
你要
for n in range(6, 10):
因此n
的值從6迭代到9, range()
在左邊是包含的,在右邊是排斥的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.