Мне трудно понять, почему одна версия моего кода занимает в два раза больше времени, чем другая. Они оба выполняют одну и ту же функцию, которая должна возвращать True
, если переданное число является палиндромом, в противном случае возвращается False
. Первая версия в среднем около 1,5 секунд, чтобы вернуть True
или False
, в то время как вторая занимает в среднем около 0,75 секунд.
1-я версия: используется сравнение:
def isPalindrome(num):
number = str(num)
count = 0
for letter in number:
if letter is number[len(number) - count - 1]:
count += 1
return count == len(number)
2-я версия: используется оператор else:
def isPalindrome(num):
number = str(num)
count = 0
for letter in number:
if letter is number[len(number) - count - 1]:
count += 1
else:
return False
return True