You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何遍历整数列表?解决int不可迭代报错问题

解决方法

问题出在你处理输入的步骤:int(input(...))会把用户输入的内容转换成单个整数,而单个整数类型确实无法被for循环遍历。你需要把输入转换成整数列表,这样才能正常遍历。

修正后的代码

def get_index_of_smallest(pint):
    positive_integers = []
    for num in pint:
        if num > 0:
            positive_integers.append(num)
    # 原函数名是找最小元素的索引,但你之前返回的是最小值,这里按需调整:
    # 如果要返回最小值
    return min(positive_integers) if positive_integers else None
    # 如果要返回最小值的索引(匹配原函数名的意图)
    # return positive_integers.index(min(positive_integers)) if positive_integers else None

# 处理输入:把用户输入的空格分隔内容转成整数列表
integers = list(map(int, input("Please enter a bunch of integers: ").split()))
result = get_index_of_smallest(integers)
print(result)

关键说明

  • 输入处理:input().split()会把用户输入按空格拆分成字符串列表(比如输入"1 3 5 -2"会变成["1","3","5","-2"]),再用map(int, ...)把每个字符串转成整数,最后用list()转成可迭代的整数列表。
  • 遍历问题:现在integers是整数列表,属于可迭代类型,函数里的for循环就能正常遍历每个元素了。
  • 边界处理:加了if positive_integers else None的判断,避免用户输入全是负数或空输入时min()报错。

内容的提问来源于stack exchange,提问作者peterparker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 10:12:49