Python用while判断回文数
时间: 2023-11-05 14:12:36 浏览: 95
请问需要什么样的回文数判断?
1. 判断一个整数是否是回文数,如121、12321等。
2. 判断一个字符串是否是回文字符串,如"racecar"、"level"等。
在这里,我提供两种回文数的判断方法:
方法一:判断整数是否是回文数
思路:将整数转换成字符串,再判断字符串是否是回文字符串。
代码如下:
```python
def is_palindrome(num):
s = str(num)
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
```
方法二:判断字符串是否是回文字符串
思路:使用双指针遍历字符串,判断左右两侧的字符是否相同。
代码如下:
```python
def is_palindrome(s):
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
```
测试代码如下:
```python
num = 12321
if is_palindrome(num):
print(num, "是回文数")
else:
print(num, "不是回文数")
s = "level"
if is_palindrome(s):
print(s, "是回文字符串")
else:
print(s, "不是回文字符串")
```
输出结果如下:
```
12321 是回文数
level 是回文字符串
```
阅读全文