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

为何未输入就触发ValueError: invalid literal for int() with base 10错误?

问题原因解析

你的代码逻辑完全搞反了input()和int()的调用顺序:

  • input()函数的参数是用来展示给用户的提示文本,它只接受字符串类型,不需要额外转换。
  • 你写的input(int("How many rooms do you have?")),Python会先执行括号内层的int("How many rooms do you have?")——也就是尝试把字符串"How many rooms do you have?"转换成整数。但这个字符串本身不是合法的数字,所以直接触发ValueError: invalid literal for int() with base 10,根本没机会走到让用户输入的步骤。

正确的写法应该是先通过input()获取用户输入的字符串,再用int()转换:

rooms = int(input("How many rooms do you have?"))

内容的提问来源于stack exchange,提问作者P K Washington

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:38:11