📅  最后修改于: 2023-12-03 15:23:04.717000             🧑  作者: Mango
国际空间研究组织(ISRO)在其2020年的计算机科学考试中出现了38道问题,其中包括许多基础和高级计算机科学概念。
问题 38 要求编写一个程序,用于检查给定的字符串是否是回文。
该程序的输入是一个字符串。
如果给定的字符串是回文,则输出 Palindrome
,否则输出 Not Palindrome
。
racecar
Palindrome
回文是指正反顺序排列都相同的词、语句或数字。例如,"radar"和"level"都是回文,但"hello"不是。检查一个字符串是否是回文的一个简单方法是将其反转并比较原始字符串。如果两者相等,则原始字符串是回文。在这个问题中,我们将使用这种方法来检查给定的字符串。
首先,将输入字符串转换为一个字符列表。然后,使用 Python 的切片语法从字符串列表的末尾开始构造一个反转字符串。
最后,将输入字符串与反转字符串进行比较并输出结果。
def is_palindrome(s):
# 将字符串转换为字符列表
str_list = list(s)
# 反转字符串
reversed_str = str_list[::-1]
# 比较原始字符串和反转字符串
if str_list == reversed_str:
return "Palindrome"
else:
return "Not Palindrome"
# 输入要检查的字符串
s = input()
# 检查字符串是否是回文并输出结果
print(is_palindrome(s))
上述代码使用 list()
函数将输入字符串转换为一个字符列表,并使用切片语法从字符串列表的末尾开始构造一个反转字符串。
然后,使用 ==
运算符将原始字符串与反转字符串进行比较。如果它们相等,则返回 "Palindrome",否则返回 "Not Palindrome"。
最后,输入要检查的字符串并输出结果。
该函数可同时处理数字和字符串。如果输入的是数字,则会将数字转换为字符串,并按照上述方法进行比较。