写程序判断一个字符串是否是回文。回文表示一个正读反读都是一样的字符串。例如“mom”、“dad”、“madamImadam”。 要求: (1)定义函数isPalindrome(s),如果s是回文,则返回True,否则返回False。 (2)编写测试函数main(),在该函数中从键盘输入一个字符串,然后调用 函数isPalindrome()判断是否为回文
时间: 2024-03-05 11:53:07 浏览: 62
好的,以下是判断一个字符串是否是回文的程序实现:
```python
def isPalindrome(s):
# 如果字符串为空或者只有一个字符,则认为其是回文
if len(s) <= 1:
return True
# 否则,判断字符串的第一个字符和最后一个字符是否相同,
# 如果相同,则继续判断除去第一个和最后一个字符的子串是否是回文
# 如果不相同,则不是回文
if s[0] == s[-1]:
return isPalindrome(s[1:-1])
else:
return False
def main():
s = input("请输入一个字符串:")
if isPalindrome(s):
print(f"{s} 是回文")
else:
print(f"{s} 不是回文")
if __name__ == "__main__":
main()
```
这个程序首先定义了`isPalindrome(s)`函数来判断一个字符串是否是回文。在函数中,如果字符串为空或者只有一个字符,则认为其是回文;否则,判断字符串的第一个字符和最后一个字符是否相同,如果相同,则继续判断除去第一个和最后一个字符的子串是否是回文,如果不相同,则不是回文。
然后,在`main()`函数中从键盘输入一个字符串,然后调用`isPalindrome()`函数判断是否为回文。如果是回文,则输出“xx 是回文”,否则输出“xx 不是回文”。最后,在程序的最后加上`if __name__ == "__main__":`的判断语句,这样当程序被直接运行时,才会执行`main()`函数,而当程序被导入到其他模块时,`main()`函数不会被执行。这也是一种Python常用的写法。
阅读全文