## 哪一题 - lesson: `data-types-and-variables` - exercise: `02-variable-assign` - url: https://learn-py.org/lessons/python2/data-types-and-variables/#step-6 ## 问题描述 <!-- 请描述:题面不清楚 / 提示有误 / 判分异常 / 其他 --> 写的和答案是一样的,但是显示代码错误
Activity
LIxyLGy75LhmG commentedon Jun 5, 2026
Can you provide the exact error message you're receiving when you run your code?
walter201230 commentedon Sep 3, 2026
@meiyu217 感谢反馈,抱歉拖了这么久。你这条查下来牵出了三个问题,现在都已修复部署 🙏
「写的和答案一样却报错」,最可能是下面两个原因之一:
原因一:全角弯引号
中文输入法会自动把
'"换成‘ ’ “ ”,肉眼几乎一模一样,Python 却完全不认:之前针对这类问题做过一次改进,但那次改的是输出比对环节的引号归一化。而弯引号出现在源码里时,Python 在编译阶段就直接报错,根本走不到判分那一步,所以那次改动没能覆盖到这个场景。
现在改成:一旦检测到这类报错,会直接提示「代码里用了全角引号(“ ” ‘ ’),Python 只认英文直引号 " 和 '」。
原因二:上一道题污染了运行环境
网站原来用一个 Pyodide 实例跑所有练习且从不清理。如果你在前面某道题写过
name = ...之类覆盖内置名的代码,后面的题会莫名失败,刷新页面才好。现在每道题都在隔离的全新环境里跑。顺带修好的:报错提示
排查你这条时发现一个更普遍的问题——页面上不管什么错都只显示一句「代码报错:PythonError」,完全没有线索。(真正的报错其实在下方输出区里,但那句判词毫无用处。)
原因是 Pyodide 的错误对象在浏览器和 Node 环境里形态不同:浏览器里真正的报错走的是另一条通道,而页面只读了那个没有内容的字段。现在会正确显示:
麻烦强制刷新(Windows
Ctrl + F5,MacCmd + Shift + R)再试。如果还是不通过,把你的代码原样贴上来(别手打,直接复制,否则引号问题会在粘贴时被「修正」掉),我来看。