Sublime Text 3无法响应input()输入的技术问题求助
解决Sublime Text中Python脚本无法接收输入的问题
嘿,这问题我太熟了!Sublime Text默认的构建控制台本身不支持交互式输入——这就是为啥你输入完价格按回车,控制台只换行却不继续执行代码的原因,它根本没在监听你的输入操作,和IDLE的交互式环境完全不一样。
下面给你几个靠谱的解决办法:
方法1:用SublimeREPL插件运行代码
这是最方便的交互式运行方式:
- 先通过Package Control安装SublimeREPL(如果没装Package Control,先把它装上哈)
- 打开你的脚本后,点击顶部菜单栏的
Tools > SublimeREPL > Python > Python - RUN current file - 这时候会弹出一个新的交互式窗口,在这里输入价格后按回车,代码就能正常执行了!
方法2:修改Python构建系统,调用系统终端运行
这个方法能让你直接用Sublime的构建按钮启动终端运行脚本:
- 点击顶部菜单栏的
Tools > Build System > New Build System - 把默认内容替换成下面的代码(根据你的系统选对应的):
- Windows系统:
{ "cmd": ["start", "cmd", "/k", "python", "$file"], "selector": "source.python", "shell": true, "env": {"PYTHONIOENCODING": "utf-8"} } - Mac/Linux系统:
{ "cmd": ["open", "-a", "Terminal.app", "$file_path/$file_name"], "selector": "source.python", "shell": true }
- Windows系统:
- 保存文件为
PythonInteractive.sublime-build - 回到脚本,点击
Tools > Build System选择你刚创建的这个构建系统,然后按Ctrl+B(Windows/Linux)或Cmd+B(Mac)运行,就会弹出系统终端,正常输入执行啦。
方法3:直接在终端/命令行运行脚本
这是最稳妥的方式,完全和IDLE的环境一致:
- 打开系统终端(Windows是命令提示符/ PowerShell,Mac是终端,Linux是终端)
- 用
cd命令切换到你的脚本所在的文件夹,比如cd Desktop(如果脚本在桌面) - 运行命令
python 你的脚本文件名.py(Python3的话用python3),然后输入价格就能正常执行了。
额外小提示:你的代码可以优化下
看了你的代码,发现final = int(tip) + int(price)这里会把小费转成整数,比如输入10的话,小费是2.5,转成int就变成2了,最终总价是12,可能不是你想要的效果。可以改成保留两位小数的浮点数,用f-string输出也更简洁:
def calculateit(): price = input("please enter your price: ") tip = int(price) * 0.25 final = tip + int(price) print(f"since the price of your meal is {price} your tip is {round(tip, 2)}") print(f"the total cost of your meal is {round(final, 2)}") calculateit()
内容的提问来源于stack exchange,提问作者Robert N
相关产品推荐
相关产品推荐

