亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

放置返回false

放置返回false

慕斯王 2022-10-06 15:53:05
我對編碼很陌生,兩周后。所以如果這是一個非常愚蠢的問題,我深表歉意。我一直在嘗試完成以下codingbat問題:給定一個整數數組,如果數組中的前 4 個元素之一是 9,則返回 True。數組長度可能小于 4。為什么下面的代碼沒有返回正確的答案?def array_front9(nums):  if len(nums)>4:    count = 4  else:    count = len(nums)  for i in range(0,count):    if nums[i]==9:      return True    else:        return False如果 return False 放在新行上而不是在循環中,它就可以工作。有人可以向我解釋一下嗎。
查看完整描述

3 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

在循環的第一次迭代中,循環檢查是否nums[0]為 9 并始終返回Trueor False; 您沒有機會檢查其余元素。你應該只True在被檢查的元素是 9 時返回,并且False只在前四個元素失敗時返回,即在循環之外。

def array_front9(nums): 
   return 9 in nums[:4]


查看完整回答
反對 回復 2022-10-06
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

代碼中的問題是,如果列表中的第一個數字不是 9,那么循環將停止并且函數執行將停止它,因為return False處于 else 條件。


def array_front9(nums):

  count = [len(nums), 4][len(nums) > 5]

  for i in range(count):

    if nums[i] == 9:

      return True

  return False


查看完整回答
反對 回復 2022-10-06
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

我認為你需要:


def array_front9(nums):

    count = 4

    if len(nums)<4:

        count = len(nums)

    if 9 in nums[:count]:

        return True

    return False

你的代碼有什么問題


if nums[i]==9:

      return True

else:  

      return False

在上面的行中,您只是檢查第一個值,如果它是 9,那么它返回 True,否則返回 False


查看完整回答
反對 回復 2022-10-06
  • 3 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號