简体   繁体   English

如何在同一行上打印,如果在python中则使用单行

[英]How to print on the same line, using one-line if else in python

to print on same line we use 在我们使用的同一行上打印

for i in range(10):
    print i,  # python 2
    print (i,end='') # python 3

but how to do it inside one line if - else if - else在另一行内怎么做if - else

for i in range(10):
    print((i,end=' ') if (i%2==0) else (i))

it gives the following error: 它给出以下错误:

 print((i,end=' ') if (i%2==0) else (i)))
                 ^
SyntaxError: invalid syntax

Here is another alternative: 这是另一种选择:

for i in range(10):
    print(i, end=('\n' if i % 2 else ' '))

No need for the == if you reverse the logic. 如果您反转逻辑,则无需==

For a true one-liner consider this less readable code: 对于真正的单行代码,请考虑以下可读性较低的代码:

print(*('{}{}'.format(i, '\n' if i%2 else ' ') for i in range(10)), sep='', end='')

Why is "one line" even interesting? 为什么“一行”甚至更有趣? Are we playing Code Golf? 我们在打Code Golf吗?

for i in range(10):
    print(i, '' if i % 2 == 0 else '\n', end='')

I am at python 3. This works: 我在python3。这有效:

for i in range(10):
    print(i, end=' ') if(i%2==0) else (i)

可能的单线

''.join([' ' if i % 2 else str(i) for i in range(10)])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM