簡體   English   中英

從 python 的列表中添加 2 個整數

[英]adding 2 integers from a list in python

我做這個練習基本上是為了在 python 的列表中添加前 2 個整數,但是我的腳本顯示它在迭代到列表中的下一個 integer 之前運行了兩次 for 循環。

我的代碼在下面,我添加了一個打印語句,所以我可以看到它如何在 WHILE 循環中迭代 FOR 循環。

def add2(nums):
    count = 0
    ans = 0
    
    while count <= 2:
        count += 1
        print(f'count: {count}')
        
        for x in nums:
            ans += x
            print(f'ans: {ans}')

但是,如果我運行我的代碼,我會得到這個結果。 為什么在進行下一次迭代之前將 ans 的值添加兩次? add2([2,3,5]) 計數:1 回答:2 回答:5 回答:10 計數:2 回答:12 回答:15 回答:20 計數:3 回答:22 回答:25 回答:30

你不需要把它復雜化。 只需使用切片將第一個返回到列表的元素。

更簡單的代碼

listNums = [1,2,3,4]
print(float(listNums[0])+float(listNums[1]))

output

3.0

這是基於您對問題的解釋。


現在使用您解決此問題的邏輯,我會考慮完全刪除 while 循環但保留 for 循環。 雖然保持簡單的 for 循環不會給我們想要的 output 因為它會找到列表中每個數字的總和。 相反,我們可以刪除兩個元素的列表。 下面的代碼顯示了如何做到這一點。

你的邏輯代碼

def add2(nums):
    count = 0
    ans = 0
    for x in nums[:2]:
        ans += x
    print(f'ans: {ans}')
add2([1,2,3,4])

output

ans: 3

它可以像這樣簡單:

ans=0
for i in range(len(nums)):
   ans+=nums[i]
   if i > 2:
      break

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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