解决Python print输出不换行没空格的问题

(编辑:jimmy 日期: 2026/1/13 浏览:2)

今天在做编程题的时候发现Python的print输出默认换行输出,并且输出后有空格。

题目要求输出

122

而我的输出是:

1

2

2

于是我百度查到取消print自动换行的方法:就是在print的值后边加逗号,例如print x,

果然,不换行了,但是输出结果仍然不对,要求输出为122,而我的输出为1 2 2

于是我继续百度查方法,发现Python2和Python3的print方法是不同的。Python2的print不用加()可以直接输出,例如print 'hello world', Python3则需要加括号 print("hello world"),而且Python3的print方法是有参数的,比如sep表示字符串之间的连接符,end表示以什么结尾。如果没有设置参数默认sep=‘ ',end='\n',因此我把我的代码改为:

print (i,end=''),但是我发现编译错误,因为我用的是Python2,跑Python2 的print是没有参数的,同理,如果在Python3中使用print x,这种逗号形式,也是编译错误的。

于是我不知道该怎么办了,继续百度查到了:

from __future__ import print_function

只要在程序前加这个就可以在Python2中使用参数了。最后终于正确输出122

后来,我又发现一种方法就是使用

sys.stdout.write()

我把代码改为:

sys.stdout.write(str(i))

也能正确输出122

以上这篇解决Python print输出不换行没空格的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?