【电子学会】2021年12月python一级 -- 编程题37
时间: 2023-09-06 15:05:39 浏览: 118
【电子学会】2021年12月python一级 -- 编程题37要求解决以下问题:给定一个字符串,编写一个函数判断是否为回文串。回文串是指正读和反读都相同的字符串。例如,"level"和"radar"都是回文串。
解题思路:
首先,我们需要定义一个函数,接收一个字符串作为输入参数。
然后,我们需要将字符串分割成字符列表,并使用列表的反转方法将其反转。
接下来,我们使用join方法将反转后的字符列表重新拼接成一个字符串。
最后,我们将原始字符串与反转后的字符串进行比较,如果相同则返回True,表示是回文串;否则返回False,表示不是回文串。
下面是具体的代码实现:
```python
def is_palindrome(s):
# 将字符串分割成字符列表,并反转
reversed_s = list(s)[::-1]
# 将反转后的字符列表拼接成字符串
reversed_s = ''.join(reversed_s)
# 比较原始字符串与反转后的字符串是否相等
if s == reversed_s:
return True
else:
return False
# 测试函数
print(is_palindrome("level")) # True
print(is_palindrome("radar")) # True
print(is_palindrome("hello")) # False
```
在上述代码中,我们首先定义了一个is_palindrome函数,它接收一个字符串作为输入参数。然后,我们使用Python的切片语法[::-1]将字符串反转,并使用join方法将反转后的字符列表拼接成一个新的字符串。最后,我们比较原始字符串和反转后的字符串是否相等,根据比较结果返回True或False。
通过运行测试函数,我们可以验证代码的正确性。对于字符串"level"和"radar",运行结果为True,符合回文串的定义;对于字符串"hello",运行结果为False,不符合回文串的定义。