簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM