Я новичок в Python и программировании вообще и пытаюсь решить задачу на codingbat.com (проблема называется "array_front9" в разделе "Разминка-2").
Проблема заключается в следующем: «Учитывая массив целых чисел, верните True, если один из первых 4 элементов массива равен 9. Длина массива может быть меньше 4».
Вот мой код, который работает, если я создаю список, а затем запускаю его локально (на codingbat.com необходимо создать функцию, но я не создаю функцию для локального тестирования своего кода):
arr = [14,9,28,55,66,33,789,4548]
for i in range (4):
if arr[i] == 9:
print('True')
print('False')*
Вот код, который я пытаюсь запустить на codingbat.com, но получаю сообщение об ошибке «Ошибка: индекс списка вне диапазона»:
def array_front9(arr):
for i in range(4):
if arr[i] == 9:
return True
return False
Вот решение согласно codingbat.com:
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
Вот текущий URL-адрес для этой задачи: http://codingbat.com/prob/p110166.
Может ли кто-нибудь указать мне, что я делаю неправильно?
return False
. codingbat.comreturn False
находится внутри цикла for, где, как и в вашем коде,return False
находится снаружи цикла for. Есть гораздо лучшие способы сделать это. вы можете просто проверитьif 9 in arr[0:4]
- person be_good_do_good   schedule 30.08.2016