【发布时间】:2011-02-22 11:00:00
【问题描述】:
我“偶然”遇到了这种奇怪但有效的语法
i=3
print i+++i #outputs 6
print i+++++i #outputs 6
print i+-+i #outputs 0
print i+--+i #outputs 6
(对于每个负号的偶数:输出6,否则输出0,为什么?)
这有什么用吗?
更新(不要误会……我爱 python): Python的原则之一说 应该有一种——最好只有一种——明显的方法来做到这一点。似乎有无数种方法可以做 i+1
【问题讨论】:
-
你遇到过吗?在混淆编码竞赛中?
-
@S.Lott - 我在这里要求任何解决方案吗?问为什么这是有效的有那么错吗?而且 btb 我只是不小心在 Python IDLE 中输入了 i++1。那是我尝试这个的时候。对于具有 c++ 背景的人来说,这很奇怪。
-
+1,只是因为我不明白为什么有人会-1。每个问题都必须直接从一些“实际”问题中提取出来吗?
-
@S. Lott:是的,除了这个“奇怪的假设”实际上提出了关于运算符优先级、固定性和组合的好问题。我见过更糟的。
-
@S.Lott 恭喜您鼓励大家提出问题。你在竞选 S.O.内容-Nz 徽章?说真的,我已经知道这种语言十年了,与示例和答案一起提出的问题对我来说比其他一些 cmets 更有趣和有教益,我会毫不犹豫地给它们贴上 OT 的标签。只是我的 2c。
标签: python