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

如何解决Python中输入为空/0转None时报int()参数NoneType类型错误的问题

报错原因

代码报错的根因是当input()拿到空输入时,input() or None的运算结果为None,直接传入int()函数不符合参数类型要求,因此触发TypeError。

修复后实现代码
# 获取用户原始输入
user_input = input('请输入一个整数:')
# 空输入直接赋值为None,非空输入先做int类型转换
number = int(user_input) if user_input.strip() else None
# 转换后值为0的场景也修改为None
number = None if number == 0 else number
print(number)
逻辑说明
  • 先单独接收原始输入,不会直接将None传入int(),从根源规避类型错误
  • 完全符合需求:输入为空时返回None,输入转换后为0时返回None,非空输入的处理过程明确使用了int类型转换
  • 额外增加了strip()处理,可兼容用户输入全为空格的场景,如果不需要可以直接去掉,改为if user_input即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:06:00