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()
判断回文数及回文素数的函数表达式
最新推荐文章于 2024-04-23 12:00:10 发布