第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python奇數(shù)或偶數(shù)函數(shù)中的問題。返回 True 不起作用

python奇數(shù)或偶數(shù)函數(shù)中的問題。返回 True 不起作用

慕無忌1623718 2021-07-16 18:01:15
def is_even(x) :      while x:           if x==0:               return True           elif x==1:               return False           x-=2print(is_even(5)) print(is_even(6))輸出 假 無如果x==0是替換x==2它工作正常。請解釋為什么返回 True 對x==0.
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

在最后一次迭代中,x減少到0所以while不進入循環(huán),并終止函數(shù)。由于它沒有顯式返回任何內(nèi)容,因此它隱式返回None,這是一個 false-y。


您可以if在while循環(huán)內(nèi)使用單個并使用while's 條件本身來指示偶數(shù):


def is_even(x) :

      while x:

           if x==1:

               return False

           x-=2

      return True


查看完整回答
反對 回復 2021-07-27
?
搖曳的薔薇

TA貢獻1793條經(jīng)驗 獲得超6個贊

因為當x == 0它未通過您的while x檢查時(0 不是真的),所以它會在再次檢查您的條件之前退出循環(huán)。


順便說一句,檢查奇偶校驗的正常方法是使用模數(shù) ( %) 運算符。


x % 2 == 0  # is_even

x % 2 != 0  # is_odd


查看完整回答
反對 回復 2021-07-27
?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

在 Python 中,整數(shù)有TrueFalse值。任何不是的整數(shù)0,將始終求值True0并將求值False。

在您的代碼中,您使用了一個while循環(huán),該循環(huán)僅在后續(xù)語句計算為 時運行True。檢查時while x,如果的值x0(由于循環(huán)內(nèi)部的計算),則您的語句將與 相同while False,不會運行內(nèi)部代碼。

為避免此問題,您可以使用該modulo操作,它為您提供操作的其余部分。因此,x % 2將返回0,如果x是偶數(shù),1如果是奇數(shù)。您可以進行檢查并使用更少的操作在更少的行中返回正確的值。

return (x % 2 == 0)

True如果沒有余數(shù),False則上面的語句將返回,如果有。


查看完整回答
反對 回復 2021-07-27
  • 3 回答
  • 0 關(guān)注
  • 268 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號