Python运行input、print代码报unexpected EOF语法错误求助
报错原因及解决办法
核心报错原因
你遇到的SyntaxError: unexpected EOF while parsing报错是Python版本不匹配+input函数行为差异导致的:
- Python 2.x 中的
input()函数会将用户输入的内容直接作为Python表达式解析,如果你没有输入内容就直接回车,或者输入内容不符合Python表达式语法,就会触发解析到文件末尾(EOF)却没有得到有效内容的语法错误 - 你贴的原始代码是Python 3.x的标准写法,本身不存在语法错误,只要运行环境匹配即可正常执行
两种解决方案
方案1:继续使用Python 2.x环境运行
将代码中的input替换为raw_input,该函数会将所有输入内容作为普通字符串处理,不会做表达式解析,修改后代码如下:
name = raw_input("whats your name?:") print("hello,", name,"!")
方案2:使用Python 3.x环境运行
不需要修改任何代码,直接用Python 3解释器执行原有代码即可正常运行,Python 3中input()的默认行为和Python 2的raw_input()完全一致。
小提示:运行程序看到输入提示后,请输入任意内容再按回车,不要直接空输入按回车,也可以避免该报错。
内容的提问来源于stack exchange,提问作者Gilbert Torres
相关产品推荐
相关产品推荐

