s = raw_input("Give me some numbers: ")
numbers = map(int, s.split())
i = int(raw_input("how many iterations?"))
print numbers
while i > 0:
    first_num = numbers.pop(0)
    second_num = numbers.pop(0)
    largest = 0
    if first_num > largest and second_num < first_num:
        largest = first_num
    elif second_num > largest and second_num > first_num:
        largest = second_num
    else:
        largest = largest
    i -= 1

 print largest


因此,这只是Python中的一个简单的while循环,意味着一次获取一组数字,一次比较两个,然后将变量largest设置为两个中的最大值。即使列表很明显已被填充,我仍然收到错误IndexError: pop from empty list(第4行的打印语句证明了这一点)。有什么我想念的吗?

最佳答案

您得到一些数字,假设您有9个数字。

然后,您要求迭代次数。假设我把7放在这里。

循环将运行7次,每次取2个数字。所以最终,您用完了数字。

关于python - 为什么说列表未填充?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28323424/

10-11 07:00