一些if
和else
的可改写和缩短(codegolf式)同样地,因为布尔可以如在Python整数行动。例如if a<b:return a
可以被重写为作为return("",a)[a<b]
。如何在Python中打印时减少变量?
在此情况下(I简化可读性的条件),
if a<b: print(a)
可以改写为以下两者:
print(("",a)[a<b])
(print(""),print(a))[a<b]
(如果我们忽略换行符,否则end=""
可以使用)。
当a<b
在所有事物上都成立时,我想递减一个变量n
(整个事物在n
的条件下),例如。
if a<b:
print(a)
n-=1
while using the syntax trick above above。 在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:这些陈述并非总是如此
请不要做奇怪的事情。 – Maroun
@MarounMaroun对我来说这似乎不奇怪:)总之,我会在将来发布一个潜在的奇怪问题之前考虑两次。感谢您注意我! –
很抱歉给大家,因为措辞标题不是我的区域。任何指导方针或其他建议,将不胜感激。 –