判断回文数

判断一个数是否为回文数
例如: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

你可能感兴趣的:(判断回文数)