for循环内添加一个换行符运行的结果得到的实际差异问题
python3吧
全部回复
仅看楼主
level 2
实在好想躺
楼主
如图,我在学习python过程中发现一个问题,在for循环内Tab两次后添加一个换行符得到的两段代码中间实际上进行了两次换行,而Tab一次后添加一个换行符则进行了四次换行。我试了多种方法,比如将代码简单化,删除列表内包含的字典,删减列表内容,得到的结果都是一样的。不止有没有大佬能够解答这个问题?
2021年06月16日 02点06分
1
level 2
实在好想躺
楼主
这是原代码,第31行
print('\n')Tab一次得到的结果是
print('\n')Tab两次得到的结果是
2021年06月16日 03点06分
2
level 2
实在好想躺
楼主
简化代码段:
第7行进行相同的操作,print('\n')在if条件下的结果:
2021年06月16日 03点06分
3
level 2
实在好想躺
楼主
但是删除else,并将print('\n')删除一次Tab后
得到
这里进行了6次换行
2021年06月16日 03点06分
4
level 2
实在好想躺
楼主
我假设是python内置架构(专业名词我不太懂,小白)的问题,因为我在4楼的简易代码基础上进行了进一步尝试。这里添加了一个换行符但进行了6次换行,而列表元素有3个,那么,它是不是有某种倍数关系进行换行?那么我删减一个元素,如图
得到结果
显然,假设成立
2021年06月16日 03点06分
5
level 2
实在好想躺
楼主
实际上仅保留了一个元素后得到的结果也符合猜想,两段代码间空了两行。而我们知道python对代码行的运行是不受行数的影响的,只要不进行换行指令那么两段代码分了多少行(没有尝试过回车二十次以上)得到的结果也不受影响
2021年06月16日 03点06分
6
实在好想躺
我的结论时,在for循环内添加换行符将以倍数运行
2021年06月16日 03点06分
level 2
实在好想躺
楼主
我的猜想对吗,有没有大佬来评论一下?
2021年06月16日 03点06分
7
level 1
超级超级超级懒
我要笑了,print输出结尾默认是带换行的,print(“\n”)就是换行两次了,print(end=""),这样写可以让print结尾取消换行
2021年06月16日 15点06分
8
实在好想躺
谢谢,我试试,按照电脑逻辑似乎确实是这样
2021年06月17日 01点06分
超级超级超级懒
回复 他我和我 :Python的print就是这样的啊,不然你下一次print的内容怎么会在下一行
2021年06月17日 01点06分
实在好想躺
@超级超级超级懒
也对,不过这种细节问题有的时候很难想得通
2021年06月17日 01点06分
1