实现判断一个正整数 是不是回文数的函数
时间: 2023-05-11 10:02:56 浏览: 72
以下是一个判断一个正整数是否为回文数的函数的示例代码:
```python
def is_palindrome(num):
"""
判断一个正整数是否为回文数
"""
num_str = str(num)
return num_str == num_str[::-1]
```
该函数将输入的正整数转换为字符串,然后使用字符串的切片操作来反转字符串,最后将反转后的字符串与原字符串比较,如果相同则说明该正整数是回文数,返回 True,否则返回 False。
例如,调用 is_palindrome(12321) 将返回 True,因为 12321 是一个回文数。
相关问题
编写一个函数实现求正整数n以内的回文数。
可以编写一个函数 palindrome(n),实现求正整数n以内的回文数。具体实现步骤如下:
1. 定义一个空列表,用于存储n以内的回文数。
2. 使用for循环遍历1到n之间的所有正整数。
3. 将当前遍历的数转换为字符串,并判断其是否为回文数。
4. 如果是回文数,则将其转换为整数并添加到列表中。
5. 循环结束后,返回列表。
函数代码如下:
def palindrome(n):
res = []
for i in range(1, n+1):
if str(i) == str(i)[::-1]:
res.append(int(str(i)))
return res
调用该函数,可以得到1到100以内的回文数:
print(palindrome(100)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99]
用Python判断输入的正整数是不是回文素数
可以使用以下代码判断输入的正整数是否是回文素数:
```python
# 判断是否为素数
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 判断是否为回文数
def is_palindrome(n):
return str(n) == str(n)[::-1]
# 主函数
num = int(input("请输入一个正整数:"))
if is_prime(num) and is_palindrome(num):
print(num, "是回文素数")
else:
print(num, "不是回文素数")
```
首先使用 `is_prime` 函数判断输入的正整数是否为素数,其次使用 `is_palindrome` 函数判断该数是否为回文数,最后判断两者均成立即为回文素数。