簡體   English   中英

如何在同一行上打印,如果在python中則使用單行

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

在我們使用的同一行上打印

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

if - else在另一行內怎么做if - else

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

它給出以下錯誤:

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

這是另一種選擇:

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

如果您反轉邏輯,則無需==

對於真正的單行代碼,請考慮以下可讀性較低的代碼:

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

為什么“一行”甚至更有趣? 我們在打Code Golf嗎?

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

我在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