一部if
とelse
「sは、同様に、書き換え(codegolfスタイル)を短縮することができます。たとえば、if a<b:return a
は、と書き換えられます。return("",a)[a<b]
です。この場合Pythonで印刷中に変数を減らす方法は?ブール値は、Pythonの整数として作用することができるので、
(私は読みやすくするための条件を簡素化)、
if a<b: print(a)
は、次の両方のように書き換えることができます。私たちは改行を無視した場合
print(("",a)[a<b])
(print(""),print(a))[a<b]
(、他のend=""
を使用することができます)。
a<b
がすべての真上にある場合、変数n
をデクリメントしたい(その状態では、すべてがn
のwhileループにあります)。
if a<b:
print(a)
n-=1
上記の構文を使用している間。 Cでは、(n/n--)-1
は0に等しいだけでなく、n
から1を減算します。 Pythonでは、これを行う方法が見つかりませんでした。私が試したいくつかの無効な構文:
print(("",a+(n/n--)-1)[a<b])
(print(""),(print(a);n-=1))[a<b]
条件は、この「トリック」を使用して真であるとき、変数(および印刷a
)をデクリメントする方法?
1,2,3:Pythonは一つにはC.ではありません
を使用する奇妙な事をしないでください。 – Maroun
@MarounMarounそれは私には不思議そうに見えません:)とにかく、私は将来、潜在的に奇妙な質問を投稿する前に2度考えます。私に気づいてくれてありがとう! –
申し訳ありませんが、すべての人に事前に文章のタイトルは私のエリアではありません。ガイドラインやその他の提案は高く評価されます。 –