Вы можете использовать reversed(formation)
для возврата обратного итератора formation
. Когда вы вызываете formation.reverse()
, он делает разворот списка и возвращает None.
EDIT:
Я вижу, что вы пытаетесь сделать сейчас, по-моему, проще всего сделать это со списком:
def solution(formation):
return len([k for k in formation[formation.index(bCamel)+1:] if k == fCamel]) == 0
Это в основном рассматривает все элементы после первого bCamel
и собирает все элементы, которые имеют значение fCamel
. Если этот список имеет длину == 0, у вас есть решение.
Вот несколько примеров:
>>> k = ['F','F','B','B','F']
>>> solution(k)
False
>>> k = ['F','F','B','B','B']
>>> solution(k)
True
>>> k = ['F','F','B','F','F','B','B']
>>> solution(k)
False
>>>
Измените &&
на ||
для второго теста keyCode
function IsNumeric(e) {
var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
var ret = ((keyCode >= 48 && keyCode <= 57) || keyCode == 190);
document.getElementById("error_numeric").style.display = ret ? "none" : "inline";
return ret;
}
Поскольку событие инициировано onkeypress
, для этого события decimal / fullstop / point keyCode является keyCode=46
Таким образом, условная логика функции будет следующей:
var ret = ((keyCode >= 48 && keyCode <= 57) || keyCode == 46);
И это решает проблему.