HackerRank可正常运行的Python代码在Spyder中无法运行问题求助
问题原因
错误出现在代码的入口判断行,__main__是字符串常量,必须用引号包裹。你写的if __name__ == __main__:中右侧的__main__没有加引号,会被Python解释器识别为未定义的变量,直接抛出NameError: name '__main__' is not defined错误。
两个平台运行结果不一致的原因:
- HackerRank等在线判题平台通常会跳过入口判断逻辑,直接执行全局作用域下的输入、计算、输出代码,所以即使这行有语法问题也能正常运行
- Spyder调用的是标准Python解释器,会严格校验所有语法,未定义的变量会直接终止运行
修正后的代码
if __name__ == '__main__': a = int(input()) b = int(input()) a1 = a // b a2 = a / b print(a1) print(a2)
修正后运行时,在Spyder的交互控制台依次输入两个整数即可得到对应输出。
内容的提问来源于stack exchange,提问作者ArshiaRx
相关产品推荐
相关产品推荐

