本关任务:在题干所给程序框架的基础上,编写程序,输入一个字符串,判断是否为回文,是回文则输出"Yes",否则输出"No"。 所谓回文是指一个句子从左到右读和从右到左读是完全一样的,例如 "Able was I ere I saw elba","上海自来水来自海上"。 要求:字符串中可以包含空格以及汉字,但没有换行符(即'\n')和回车符(即'\r'),并且忽略英文字符的大小写,限定字符串长度最大为80。
时间: 2023-07-07 07:06:59 浏览: 115
判断字符串是否回文 程序
4星 · 用户满意度95%
```python
s = input().strip().lower() # 输入字符串并且将所有英文字符转化为小写
s = ''.join(filter(str.isalnum, s)) # 只保留字符串中的数字和字母,去掉空格和标点符号
if s == s[::-1]: # 判断字符串是否回文
print("Yes")
else:
print("No")
```
解释如下:
- `input().strip().lower()`:输入字符串并且去除首尾空格,将字符串中所有英文字符转化为小写。
- `filter()` 函数可以对字符串中的字符进行过滤,这里使用了 `str.isalnum` 函数来保留字符串中的数字和字母,去掉了空格和标点符号。
- `s[::-1]`:将字符串反转。
- `if s == s[::-1]`:判断字符串是否回文。若字符串与反转后的字符串相同,则为回文。
阅读全文