不换行打印(打印“a”),打印一个空格,如何删除?

我有以下代码:

&gt&燃气轮机&燃气轮机;对于X范围内的i(20):
...     打印“a”,
... 
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a

我想输出'a',而不输出',如下所示:

aaaaaaaaaaaaaaaa

可能吗

有很多方法可以达到你的目的。如果您只是想为您的案例找到一个解决方案,请使用@Ant提到的字符串乘法。只有当每个print语句都打印相同的字符串时,这才起作用。请注意,它适用于任何长度字符串的乘法(例如,'foo'*20works)

&gt&燃气轮机&燃气轮机;打印“a”*20
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

如果你想在一般情况下这样做,建立一个字符串,然后打印一次。这将为字符串消耗一点内存,但只调用一次print。请注意,使用+=的字符串连接现在与要连接的字符串大小成线性关系,因此这将非常快

&gt&燃气轮机&燃气轮机;对于X范围内的i(20):
...     s+=“a”
... 
&燃气轮机&燃气轮机&燃气轮机;印刷品
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

或者可以更直接地使用sys.stdout.write(),它是一个包装器。这将只写入您提供给它的原始字符串,没有任何格式。请注意,即使在20as的末尾也不会打印换行符

&gt&燃气轮机&燃气轮机;导入系统
&燃气轮机&燃气轮机&燃气轮机;对于X范围内的i(20):
...     sys.stdout.write('a')
... 
aaaaaaaaaaaaaaaa&gt&燃气轮机&燃气轮机;

Python 3将print语句更改为print()函数,该函数允许您设置end参数。您可以通过从\uuuuu future\uuuuu导入,在>=2.6中使用它。不过,我在任何严肃的2.x代码中都会避免这种情况,因为对于那些从未使用过3.x的人来说,这会有点混乱。不过,它应该会让你尝到3.x带来的一些好处

&gt&燃气轮机&燃气轮机;来自未来导入打印功能
&燃气轮机&燃气轮机&燃气轮机;对于X范围内的i(20):
...     打印('a',结束='')
... 
aaaaaaaaaaaaaaaa&gt&燃气轮机&燃气轮机;

发表评论