巧用python求解逻辑题,特简单!
生活随笔
收集整理的這篇文章主要介紹了
巧用python求解逻辑题,特简单!
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
昨晚睡覺前看了看初中買的一本《哈佛學(xué)生的600個思維訓(xùn)練》,然后發(fā)現(xiàn)有些題可以用計算機(jī)解決,便早起隨便敲了一下。
第一道題:122 猜名字
核心思路:遍歷所有人的名字,并默認(rèn)他們就是老師手中寫的名字,然后放進(jìn)同學(xué)們說話的情景里比對,看看是不是滿足只有一個人說對的情況。
#122代碼 list=['a','b','c','d'] for x in list:if (int(x=='c')+int(x!='b')+int(x!='c')+int(x=='a')==1):print(x) #122運(yùn)行結(jié)果>>b最后答案是‘b’,也就是題目中的B同學(xué)。
再看看126和127征婚題
126和剛剛的122思路一樣,很簡單,表示一下就好了,但是127稍微變了一下,通過簡單邏輯就能做出。
#126代碼 list=['a','b','c'] for x in list:if (int(x != 'a') + int(x == 'a') + int(x != 'c') == 1):print(x) #126運(yùn)行結(jié)果>>c最后答案是‘c’,也就是題目中的鉛匣子。
127至少有一個真,那么就是真的個數(shù)大于等于1,至少有一個假,就是原來語句的邏輯非的個數(shù)大于等于1。用python表示出來即可。
#127代碼 list=['a','b','c'] for x in list:if ( (int(x != 'b') + int(x != 'b') + int(x == 'c') >= 1) and int(x == 'b') + int(x == 'b') + int(x != 'c')>=1):print(x) #127運(yùn)行結(jié)果>>a最后答案是‘a(chǎn)’,也就是題目中的金匣子。
第三題:155 誰是肇事者
有三個人說謊,也就是真的個數(shù)為1。
#155代碼 list=['a','b','c','d'] for x in list:if (int(x == 'b') + int(x == 'd') + int(x != 'c') + int(x != 'd')== 1):print(x)#155運(yùn)行代碼>>c最后答案是‘c’,也就是題目中的丙。
最后再來一題,感興趣的自己敲一敲試一試吧!
總結(jié)
以上是生活随笔為你收集整理的巧用python求解逻辑题,特简单!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 根据数据使用arcGIS画分级图
- 下一篇: python 爬虫斗图吧 多页图片