Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-变量如何影响循环_Python_List_For Loop - Fatal编程技术网

Python-变量如何影响循环

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]

我想知道为什么从版本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])
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]的副本,但我找不到它。。。