Proc 31. Описать функцию IsPalindrom(K), возвращающую TRUE, если целый параметр K (>0) является палиндромом (то есть его запись читается одинаково слева направо и справа налево), и FALSE в противном случае. С ее помощью найти количество палиндромов в наборе из 10 целых положительных чисел. При описании функции можно использовать функции DigitCount и DigitN из заданий Proc29 и Proc30.

Решение на Python 3

import random

def Palindrom(K):
return int(str(K) + str(K)[::-1])

def IsPalindrom(K):
result = False
num = str(K)
try:
val = int(num)
if num == str(num)[::-1]:
result = True
except ValueError:
print("That's not a valid number, Try Again !")
return result

def IsPalindrom2(n):
temp=n
rev=0
while(n>0):
dig=n%10
rev=rev*10+dig
n=n//10
if(temp==rev):
result = True
else:
result = False
return result


for i in range(0,10):
x = random.randrange(1,10000)
#x = Palindrom(x)
print(x,":",IsPalindrom(x))
#print(x,":",IsPalindrom2(x))