我有以下代码:
>&燃气轮机&燃气轮机;对于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)
>&燃气轮机&燃气轮机;打印“a”*20
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
如果你想在一般情况下这样做,建立一个字符串,然后打印一次。这将为字符串消耗一点内存,但只调用一次print。请注意,使用+=的字符串连接现在与要连接的字符串大小成线性关系,因此这将非常快
>&燃气轮机&燃气轮机;对于X范围内的i(20):
... s+=“a”
...
&燃气轮机&燃气轮机&燃气轮机;印刷品
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
或者可以更直接地使用sys.stdout.write(),它是一个包装器。这将只写入您提供给它的原始字符串,没有任何格式。请注意,即使在20as的末尾也不会打印换行符
>&燃气轮机&燃气轮机;导入系统
&燃气轮机&燃气轮机&燃气轮机;对于X范围内的i(20):
... sys.stdout.write('a')
...
aaaaaaaaaaaaaaaa>&燃气轮机&燃气轮机;
Python 3将print语句更改为print()函数,该函数允许您设置end参数。您可以通过从\uuuuu future\uuuuu导入,在>=2.6中使用它。不过,我在任何严肃的2.x代码中都会避免这种情况,因为对于那些从未使用过3.x的人来说,这会有点混乱。不过,它应该会让你尝到3.x带来的一些好处
>&燃气轮机&燃气轮机;来自未来导入打印功能
&燃气轮机&燃气轮机&燃气轮机;对于X范围内的i(20):
... 打印('a',结束='')
...
aaaaaaaaaaaaaaaa>&燃气轮机&燃气轮机;