python3换行输出不能实现?(似乎还是个bug,不知道来源Pycharm还是python本身)

刚刚用pycharm测试python语言的时候,出现个奇怪的现象,测试多次,都是这样的这样的结果,我将整个过程重新执行如下图:
图片描述

所在想请教下各位大佬,有知道这是什么问题吗?之所以想换行输出,是因为不想占用笔记太大的空间,但是网络上的很多都是python2的换行输出。有知道原因的大佬么?谢谢各位的指导,谢谢!!!

回答:

我没有看懂你的截图,不过print()函数默认带换行的啊

你的疑问是不是这样的:上面的str1_set和下面的str1_set输出的结果为什么不一样?

clipboard.png
上面这个apel{'a', 'p', 'e', 'l'},前面的apel和后面的集合只是没换行而已,因为你上面的for循环在print()加了end='',而紧接着for下面的print()又没加end='',自然导致了最后一个print输出的集合是相对于上面的是换行的

回答:

老铁,可能有两点问题:

  • print 函数的参数问题

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

value 就是你要打印的值
sep 就是多值打印时,你要用的分割,默认是一个空格
file 就是你要打印的输出,你可以打印输出到某个文件中,默认为标准输出即终端
flush 是布尔值,不太好解释,可以参考: https://blog.csdn.net/u013985...
clipboard.png
所以你画黄线的位置,当然不会换行,因为print函数你参数设置了end=‘’

  • 你截图有点问题,在运行过程中,str1_set这个变量已经被改变了,至于为啥会出现这个情况:

clipboard.png

一楼的老铁说的很明白了

  • 最后,胆子大挺好,勇于尝试挺好,但是,不要随便怀疑某种语言或者编译器有BUG

以上是 python3换行输出不能实现?(似乎还是个bug,不知道来源Pycharm还是python本身) 的全部内容, 来源链接: utcz.com/a/160967.html

回到顶部