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

为何Python input()函数要求输入带引号?环境异常排查求助

问题分析与解决办法

哈哈,这个坑我见过好多新手踩!我来给你理清楚前因后果和解决办法:

首先,你遇到的input()要求输入带引号的情况,完全是Python2和Python3的input()函数行为差异导致的:

  • 在Python3里,input()直接把你输入的内容当成字符串返回,比如你敲hello,程序拿到的就是"hello";
  • 但Python2的input()就不一样了,它会把你的输入当作Python代码去解析——这就意味着你输入字符串必须加引号,不然程序会以为你在引用一个叫hello的变量,直接报错。

你提到用了print("Hello")格式就认定是Python3,这其实是个容易误导人的小细节:Python2里虽然print是个语句,但如果只给单个参数加括号,它也能正常跑(本质是把括号里的内容当成元组打印),所以这个操作没法准确区分你用的是哪个版本。

搞定Sublime Text的构建配置

既然已经查到是Sublime Text默认用了Python2来运行代码,那我们手动配置Python3的构建系统就行:

  1. 打开Sublime Text,点顶部菜单栏的 Tools -> Build System -> New Build System;
  2. 把默认内容替换成下面的代码(要是不确定自己Python3的路径,打开终端敲which python3就能查到,把路径替换进去就行):
{
    "cmd": ["/usr/local/bin/python3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}
  1. 保存这个文件,命名成Python3.sublime-build,保存路径默认就是Sublime的构建配置文件夹,直接确认;
  2. 回到你的代码文件,选 Tools -> Build System,找到刚创建的Python3选中,之后再用Cmd+B(Mac上的运行快捷键)执行代码,就会用Python3跑啦。

这样调整后,你的input()函数就会按照Python3的逻辑工作,再也不用给输入加引号咯~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 07:12:49