题目: 写一段判断 2 到 10 之间的质数的输出
环境 左: VScode 右: Windows 文本编辑器(记事本)
目录
代码展示
#错误
for a in range(2, 10):
for x in range(2, a):
if a % x == 0:
print(a, 'equals', x, '*', a//x) //出错
break //出错
else:
print(a, 'is a prime number')
#正确
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
else:
print(n, 'is a prime number')
原视频介绍
文本编辑器错误演示
图文介绍
同样的一段代码 修改变量,编辑中 使用 空格 作为 缩进 ,全程复制粘贴中间修改了就触发对齐问题, 原样CV大法 对齐离谱???
更离谱的是使用vscode 一键格式化 摆烂???
最终手动缩进才解决问题
解决问题
那么问题究竟出在哪里?
注: tab 是制表符而不是缩进符,使用"1tab=4"空格这样的习惯在编程中是个不好的习惯,但是类似IDE/VScode的编辑器能够一键将 tab 自动转换空格的功能(eg: vscode 中 ctrl + shift + F) ,所以解决问题才是最终目的
猜测是书写代码时 文本字符 出现了问题,如何判断?
文本比较即可
使用字数在线统计(ES JSON在线工具) 可以看出字符和字母都出现区别
还是不够直观,通过文本对比工具
使用在线文本比对合并工具(ES JSON在线工具)即可判断问题
手动修改后正确代码
后记: 记事本等初级编辑器不建议被 日常使用编辑代码 ,只适合临时使用,推荐专业代码编辑器
同时这篇文章也是为了告诉大家编辑器编辑代母出现问题无解时解决的思路