【发布时间】:2013-11-13 19:34:37
【问题描述】:
首先,这是 IS 作业,所以我不期待任何直接的答案。我需要取两个由函数(semordnilap(str1, str2))定义的字符串,并且当一个字符串反转时我需要查看它们是否相等。我想知道我是否可以使用semordnilap(str1[0:1) == semordnilap(str2[-1]) 将这些从函数中单独调用出来。我尝试了几种方法,但我一定没有正确考虑它,当然还有尝试递归执行此操作的踢球者。任何建议或指导都会有所帮助。
def semordnilap(str1, str2):
'''
str1: a string
str2: a string
returns: True if str1 and str2 are semordnilap
False otherwise.
'''
if len(str1) != len(str2):
return False
if len(str1) <= 1 or len(str2) <= 1:
return False
if semordnilap(str1[0]) != semordnilap(str2[-1]):
return False
else:
return True
这是我目前所拥有的,得到TypeError: semordnilap() takes exactly 2 arguments (1 given)的错误
【问题讨论】:
-
你能展示更多你拥有的代码吗?例如,一个简短而完整的 Python 程序怎么样?
-
要递归地执行此操作(您确实不应该这样做),您可能需要比较两个字符串的末端 (
str1[0] == str1[-1]) 并且 then 递归比较其余的 (semordnilap(str1[1:], str1[:-1])) -
@Lasse 我添加了到目前为止的内容,但它远未完成或工作。