Python 使用函数归纳判断回文质数
目录
1 什么是回文质数
1.1 回文数
1.2 质数
2 不使用函数封装代码
2.1 输入数字,初始化判断变量
2.2 判断是否是质数
2.3 判断是否是回文质数
2.4 代码总体
3 使用函数来封装代码,使得逻辑更为清晰
3.1 判断是否是质数
3.2 判断是否是回文数
3.3 判断是否是回文质数
3.4 整体代码
1 什么是回文质数
回文质数是指既是回文数又是质数的数。
1.1 回文数
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121、11、2222 等都是回文数。
1.2 质数
质数又称素数,是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。例如,2、3、5、7、11 等都是质数。
所以,回文质数就是同时满足这两个条件的数,比如 11,它既是回文数(正序和倒序都是 11),又是质数(只有 1 和 11 两个因数)。
2 不使用函数封装代码
开始部分获取一个数字,并定义全局变量以使用if语句判断两个isPrime 和 isPalindrome 是否都为真,因为回文质数即是质数并且要满足这个数字的倒序与正序的值是一样的
2.1 输入数字,初始化判断变量
# 获取用户输入的一个数字并转换为整数类型
num = int(input("请输入一个数字"))
# 初始化变量,表示输入的数字不是质数和不是回文数
isPrime = False
isPalindrome = False
2.2 判断是否是质数
for i in range(2, num):
if num % i == 0:
print(f"{num}-不是一个质数")
break
else:
isPrime = True
print(f"{num}是一个质数")
2.3 判断是否是回文质数
num_str = str(num)
reverse_str = num_str[::-1]
if num_str == reverse_str:
isPalindrome = True
if isPrime and isPalindrome:
print(f"{num}是一个回文质数")
2.4 代码总体
num = int(input("请输入一个数字"))
isPrime = False
isPalindrome = False
for i in range(2, num):
if num % i == 0:
print(f"{num}-不是一个质数")
break
else:
isPrime = True
print(f"{num}是一个质数")
num_str = str(num)
reverse_str = num_str[::-1]
if num_str == reverse_str:
isPalindrome = True
if isPrime and isPalindrome:
print(f"{num}是一个回文质数")
# 输出结果:
# 请输入一个数字131
# 131是一个质数
# 131 是一个回文数
3 使用函数来封装代码,使得逻辑更为清晰
3.1 判断是否是质数
def isPrime(n):
for i in range(2,n):
if n % i == 0:
print(f"{n}不是一个质数")
return False
else:
print(f"{n}是一个质数")
return True
3.2 判断是否是回文数
def isPalindrome(n):
num_str = str(n)
reverse_num_str = num_str[::-1]
if num_str == reverse_num_str:
return True
3.3 判断是否是回文质数
num = int(input("请输入一个数字"))
if isPalindrome(num) and isPrime(num):
print(f"{num} 是一个回文数")
3.4 整体代码
def isPrime(n):
for i in range(2,n):
if n % i == 0:
print(f"{n}不是一个质数")
return False
else:
print(f"{n}是一个质数")
return True
def isPalindrome(n):
num_str = str(n)
reverse_num_str = num_str[::-1]
if num_str == reverse_num_str:
return True
num = int(input("请输入一个数字"))
if isPalindrome(num) and isPrime(num):
print(f"{num} 是一个回文数")
有以下输出:
# 请输入一个数字151
# 151是一个质数
# 151 是一个回文数