Python-变量如何影响循环
我想知道为什么从版本1中的arr[n]更改为版本2中的n时会出现不同的结果: 第1版Python-变量如何影响循环,python,list,for-loop,Python,List,For 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]
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])
0
0
版本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])
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])
1
4
版本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])
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()
左侧包含,右侧独占这不是range的工作方式
在这方面:
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()
左侧包含,右侧独占我们有一个关于…中[i]的副本,但我找不到它…我们有一个关于…中[i]的副本,但我找不到它。。。