def check_palindrome(str): # 如果字符串长度为1就一定是回文 if len(str) == 1: print("是回文!") # 如果能被2整除说明是偶数 elif len(str) % 2 == 0: # 循环的次数就是比较的次数 for i in range(int(len(str) / 2)): if str[i] == str[-(i + 1)]: continue else: print("不是回文!") return False print("是回文!") # 剩余的是奇数,比如“BAACAAB”需要对比三次就能确定是不是回文,最中间的无论是什么都是回文 else: for i in range(int((len(str) - 1) / 2)): if str[i] == str[-(i + 1)]: continue else: print("不是回文!") return False print("是回文!") if __name__ == '__main__': check_palindrome("BACAB")
时间: 2024-02-14 16:04:27 浏览: 53
这段代码是一个判断字符串是否为回文的 Python 程序。它接受一个字符串作为参数,然后使用循环和条件语句来判断该字符串是否为回文。
程序的主要思路是,首先判断字符串的长度。如果长度为1,那么该字符串一定是回文;如果长度为偶数,那么从两端开始比较字符串的字符,如果对应位置的字符相同,继续比较下一个位置,直到比较到中间位置,如果所有位置的字符都相同,则该字符串为回文;如果长度为奇数,那么同样从两端开始比较字符串的字符,但是需要注意中间的字符无论是什么都是回文,因此需要跳过中间的字符继续比较。
下面是该程序的代码:
```python
def check_palindrome(str):
if len(str) == 1:
print("是回文!")
elif len(str) % 2 == 0:
for i in range(int(len(str) / 2)):
if str[i] == str[-(i + 1)]:
continue
else:
print("不是回文!")
return False
print("是回文!")
else:
for i in range(int((len(str) - 1) / 2)):
if str[i] == str[-(i + 1)]:
continue
else:
print("不是回文!")
return False
print("是回文!")
if __name__ == '__main__':
check_palindrome("BACAB")
```
这段代码的输出结果是:
```
是回文!
```
因为 "BACAB" 是一个回文字符串。
阅读全文