由《囚徒问题》引发的对Python赋值的思考
刚刚看了这段代码想到了一个有趣的问题,这段代码中有两次赋值,是否有一种可能使得赋值一次就搞定呢?
昨天晚上我在知乎上看到了一段关于什么算精通Python的答复,‘轻松写出高效的Python代码’。那么如果多次赋值我们能简化为一次,不就可以达到简化Python代码的效果了吗?然鹅我是个Python小白,不知道Python是否有‘假设’这个函数,即假设;A=1=2。
所以我做了以下尝试
当然,这里我用的列表而非真正的假设man同时等于ABC三个量。
这里我用开锁举个例子,
一串钥匙有10个,总有一个可以开门。
这就好比 变量(钥匙串)=10个赋值(10个钥匙)
如果是人来开锁可能需要花费几分钟才可以找到正确的钥匙,但是如今随便一台计算机每秒可以计算几十亿次,这不就相当于计算机在一瞬间试了十次钥匙。如果计算机的计算速度接近无限次,我们可不可以说相当于同时试了十把钥匙呢?放在Python中来说就是一个变量赋值多次?
使得A=1=2?
然而当我把这个疑问发到Python交流群里面得到答复后发现了一个更有趣的问题
当然,小学生都知道1是不等于2的。但是你是否想过这样一个问题?
数学告诉我们 1+1=2
地理告诉我们 太阳东升西落
物理告诉我们 地球具有引力
......
你是否对这些常识产生过质疑?
知识在丰富你的同时是否在束缚你的思维方式?
就好比你不会怀疑太阳东升西落一般。
你的思维明确的告诉你:1=1 有毒的蘑菇不能吃
那么问题来了,学了几十年数学的你能否告诉我1为什么不能等于2呢?