判断回文数
2018-06-16 本文已影响1人
牵丝笼海
判断一个数是否为回文数
例如:12321,34543, 2332, 2等整数是回文数
342,443,10010等整数不是回文数
is_symmetry_number.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-06-12 14:50:32
"""
判断一个数是否为回文数
例如:12321,34543, 2332, 2
"""
from util import Util
def is_symmetry_number(x):
"""
判断一个整数是否是回文数
a.比较最高位数字与最低位数字,如果不同,则不是回文数,如果相同,则执行b
b.去掉最高位数字与最低位数字,得到一个新的整数,执行a
"""
help = 1
while x // help >= 10:
help *= 10
while x:
if (x // help) != (x % 10):
return False
x = (x % help) // 10 #去掉最高位数字与最低位数字,得到一个新的整数
help //= 100
return True
pass
def symmetry_number_test():
for i in range(10000):
x = Util.gen_rand_int()
# print(x, end = ': ')
if is_symmetry_number(x):
# print('是回文数')
print(x)
# else:
# print('不是回文数')
pass
if __name__ == '__main__':
symmetry_number_test()
util.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-06-11 22:58:30
import random
class Util(object):
"""
工具类
"""
def gen_rand_int(min = 0, max = 10000):
"""
生成一个随机整型数
"""
return random.randint(min, max)
pass