判断回文数及回文素数的函数表达式

def pdn(x):
    """
    判断是否为回文数
    :param x: 非负正整数
    :return: 返回一个布尔类型,是回文数,返回True,否则返回False
    """
    for i in range(0,len(str(x))):
        if str(x)[i] != str(x)[len(str(x)) -1 - i]:
            return False
    return True

def is_palindrome(num):
    """
    判断一个数是不是回文数
    :param num: 一个非负整数
    :return: 是回文数返回True否则返回False
    """
    temp = num
    total = 0
    while temp > 0:
        total = total * 10 + temp % 10
        temp //= 10
    return num == total


def pdn_ss(x):
    from math import sqrt
    for i in range(2, int(sqrt(x)) + 2):
        if x % i == 0:
            return False
    for i in range(0,len(str(x))):
        if str(x)[i] != str(x)[len(str(x)) -1 - i]:
            return False
    return True

if __name__ == '__main__':
    number = int(input('请输入一个非负整数:'))
    # and和or运算符都是带短路功能的运算符
    # 如果and左边的表达式是False 那么右边的表达式被短路(不执行)
    # 如果or左边的表达式是True那么右边的表达式被短路(不执行)
    # 所以左右两边的表达式放置的顺序可能会对执行效率产生明显的影响
    if is_prime__(number) and is_paslindrome(number):
        print('是回文素数')
    else:
        print('不是回文素数')

#短路and和or的功能例子:
def f1():
    print('f1')
    return True

def f2():
    print('f2')
    return False

if __name__ == '__main__':
    if f1() or f2():
        print('OK')
    else:
        print('not OK')

输出结果是f1 OK  不会执行f2的函数 因为f1()为真以后,不会判断f2()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值