首页 > 解决方案 > 从python中的列表中添加2个整数

问题描述

我做这个练习基本上是为了在 python 的列表中添加前 2 个整数,但我的脚本显示它在迭代到列表中的下一个整数之前运行了两次 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

标签: pythonlist

解决方案


你不需要把它复杂化。只需使用切片将第一个返回到列表的元素。

更简单的代码

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

输出

3.0

这是基于您对问题的解释。


现在使用您解决此问题的逻辑,我会考虑完全删除 while 循环但保留 for 循环。虽然保持简单的 for 循环不会给我们想要的输出,因为它会找到列表中每个数字的总和。相反,我们可以删除两个元素的列表。下面的代码显示了如何做到这一点。

你的逻辑代码

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

输出

ans: 3

推荐阅读