鱼C论坛

 找回密码
 立即注册
查看: 2225|回复: 9

发现一个手敲代码跟"复制代码''差异,还没搞懂原理

[复制链接]
发表于 2021-2-2 02:27:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在做课后题时,  复制小甲鱼 代码,  是可以运行的, 但是当我进行编辑修改时就报错了,说是缩进不对(代码内容没有错误),  我不得不手敲一遍,  然后  好奇的我,把报错的段落复制到记事本上,发现多了组tap
也就是我 编辑时,另起了一行 ,结果给我多带出了组TAB  缩进,  以前 也碰到过,这个是什么原理?

>>> def my_fun1():
        x = 5
        def my_fun2():
                nonlocal x    #  为何Ctrl +v 方式过来,会多出一组TAB ?   纳尼?    再复制回来,  多的那组TAP 又不显示了
                x *= x
                return x
        return my_fun2()
SyntaxError: inconsistent use of tabs and spaces in indentation
>>> def my_fun1():
        x = 5
        def my_fun2():
                nonlocal x
               
               
SyntaxError: inconsistent use of tabs and spaces in indentation
>>> def my_fun1():
        x=5
        def my_fun2():
                nonlocal x    #   这里手敲的也没缩进,  而是显示的 跟前面CTRL +v  的段落一致

手敲正常.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-2 06:53:38 | 显示全部楼层
可能是软件设置的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-2 06:55:21 From FishC Mobile | 显示全部楼层
虽说记事本可以写代码,但是一般都不用,为什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-2 11:30:00 | 显示全部楼层
wp231957 发表于 2021-2-2 06:55
虽说记事本可以写代码,但是一般都不用,为什么呢?

因为比较丑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-2 19:15:35 | 显示全部楼层
wp231957 发表于 2021-2-2 06:55
虽说记事本可以写代码,但是一般都不用,为什么呢?

至少也要 notepad ++ ,  不然怎么说自己是 编程的,  我就是好奇  为何我用 编辑 就会报错, 而手敲就不会带入这个错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-2 19:26:05 From FishC Mobile | 显示全部楼层
fazerse 发表于 2021-2-2 19:15
至少也要 notepad ++ ,  不然怎么说自己是 编程的,  我就是好奇  为何我用 编辑 就会报错, 而手 ...

归根到底就是TAB和空格的区别
所以能手敲的就不要复制
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-2 19:41:36 | 显示全部楼层
wp231957 发表于 2021-2-2 19:26
归根到底就是TAB和空格的区别
所以能手敲的就不要复制

我很奇怪单纯复制过去执行,没有问题,  而是我按了回车,另起行加代码,结果就是 输出跟我输入的不对等了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-3 00:06:15 | 显示全部楼层
其实吧,我猜想你粘贴的时候不是顶格粘贴的

也就是光标没有放置在目标行的顶端

你复制的东西有个 tab,你粘贴的地方也有一个tab的话,就会多一个tab的

粘贴相当于在光标所在处粘贴,而非光标所在的行的起点位置粘贴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-3 00:48:30 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-3 00:06
其实吧,我猜想你粘贴的时候不是顶格粘贴的

也就是光标没有放置在目标行的顶端

很有建设性的探讨,  不过我是 点小甲鱼那个 复制代码按键进行的操作,而且是错误出在我要编辑添加代码的那一行,而不是第一行,也不是每一行.   所以我表示出极大的好奇,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-3 00:58:17 From FishC Mobile | 显示全部楼层
可能小甲鱼用的是tab缩进,你的编辑器自动缩进用的是空格,你一编辑复制下来的代码,就出错了。可以设置让编辑器显示空字符,空格会显示成点,tab显示成箭头,一目了然。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 16:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表