语法练习:array_front9

题目:array_front9

Given an array of ints, return True if one of the first 4 elements in the array is a 9. The array length may be less than 4.

array_front9([1, 2, 9, 3, 4]) → True
array_front9([1, 2, 3, 4, 9]) → False
array_front9([1, 2, 3, 4, 5]) → False

我的解答:

def array_front9(nums):
  s = False
  if len(nums) < 4:
    for i in range(len(nums)):
      if nums[i] == 9:
        s = True
  else:
    for i in range(4):
      if nums[i] == 9:
        s = True
  return s

Expected Run
array_front9([1, 2, 9, 3, 4]) → True True OK
array_front9([1, 2, 3, 4, 9]) → False False OK
array_front9([1, 2, 3, 4, 5]) → False False OK
array_front9([9, 2, 3]) → True True OK
array_front9([1, 9, 9]) → True True OK
array_front9([1, 2, 3]) → False False OK
array_front9([1, 9]) → True True OK
array_front9([5, 5]) → False False OK
array_front9([2]) → False False OK
array_front9([9]) → True True OK
array_front9([]) → False False OK
array_front9([3, 9, 2, 3, 3]) → True True OK

All Correct

标答:

def array_front9(nums):
  # First figure the end for the loop
  end = len(nums)
  if end > 4:
    end = 4
  
  for i in range(end):  # loop over index [0, 1, 2, 3]
    if nums[i] == 9:
      return True
  return False
12-08 08:43