您好,登錄后才能下訂單哦!
guess?=?0 secretNum?=?14 for?number?in?range(1,4): ????if?guess?==?0?or?guess?>?20?: ????????print("數字必須位于1-20之間") ????????continue ????if?guess?<?secretNum: ????????print("太小啦") ????elif?guess?>?secretNum: ????????print("太大啦") ????else: ????????break
guess?=?0 secretNum?=?14 for?number?in?range(1,4): ????if?guess?==?0?|?guess?>?20?: ????????print("數字必須位于1-20之間") ????????continue ????if?guess?<?secretNum: ????????print("太小啦") ????elif?guess?>?secretNum: ????????print("太大啦") ????else: ????????break
為什么兩份代碼就唯一的?or 和 | 的不同,運行結果不一樣?我們之前應該覺得這2個符號是能代替才對呀?
(1)如果a,b是數值變量, 則 |表示位運算
if表達式相當于:if 0 == 0 | 0 > 20? 而
>>>?0?==?0?|?0?>?20 False >>>
所以根本沒有進入if guess == 0 or guess > 20 :里面的代碼塊去執行代碼。
(2)如果a, b是邏輯變量, 則or 和 | 用法基本一致
>>>?(3>0)?|?(3<1) True >>>?(3>0)?or?(3<1) True >>>
總結:為了避免出現今天這個錯誤,請在python邏輯判斷需要或連接時候,盡量用or,不要用其他語言用的那個豎|
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。