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

求助:实现数组最大值时获取用户输入遇ValueError(字符串转整数失败)

解决ValueError: could not convert string to int问题

这个错误的核心原因很直接:你用int(input())转换输入内容时,用户输入的不是合法整数格式——比如输了字母、小数点、空格或者空内容,Python没办法把这些内容转成整数,就会触发这个错误。

给你两种可行的解决思路:

思路1:添加输入校验,确保用户输入合法整数

在获取每个元素时,用循环加异常捕获,直到用户输入正确的整数为止:

n = int(input())
ar = []
for i in range(n):
    while True:
        try:
            x = int(input())
            ar.append(x)
            break
        except ValueError:
            print("请输入合法的整数!")

print(max(ar))

思路2:改成一次性输入多个元素(更高效)

很多场景下用户更习惯一次性输入所有元素(用空格分隔),这种方式能减少输入错误概率,代码可以改成这样:

# 先输入元素个数,再输入空格分隔的元素
n = int(input())
ar = list(map(int, input().split()))
# 校验输入的元素个数是否符合要求
if len(ar) != n:
    print(f"请输入{n}个整数!")
else:
    print(max(ar))

如果不需要提前指定元素个数,还可以更灵活:

ar = list(map(int, input("请输入空格分隔的整数:").split()))
print(max(ar))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:45:55