guess?=?0 secretNum?=?14 for?number?in?range(1,4): ????if?guess?==?0?or?guess?>?20?: ????????print("數(shù)字必須位于1-20之間") ????????continue ????if?guess??secretNum: ????????print("太大啦") ????else: ????????break
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元東遼做網(wǎng)站,已為上家服務(wù),為東遼各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
guess?=?0 secretNum?=?14 for?number?in?range(1,4): ????if?guess?==?0?|?guess?>?20?: ????????print("數(shù)字必須位于1-20之間") ????????continue ????if?guess??secretNum: ????????print("太大啦") ????else: ????????break
為什么兩份代碼就唯一的?or 和 | 的不同,運行結(jié)果不一樣?我們之前應(yīng)該覺得這2個符號是能代替才對呀?
(1)如果a,b是數(shù)值變量, 則 |表示位運算
if表達式相當于:if 0 == 0 | 0 > 20? 而
>>>?0?==?0?|?0?>?20 False >>>
所以根本沒有進入if guess == 0 or guess > 20 :里面的代碼塊去執(zhí)行代碼。
(2)如果a, b是邏輯變量, 則or 和 | 用法基本一致
>>>?(3>0)?|?(3<1) True >>>?(3>0)?or?(3<1) True >>>
總結(jié):為了避免出現(xiàn)今天這個錯誤,請在python邏輯判斷需要或連接時候,盡量用or,不要用其他語言用的那個豎|