gpt4 book ai didi

python - (str1, str2) 分别调用它们

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:52 25 4
gpt4 key购买 nike

首先,这作业,所以我不期待任何直接的答案。我需要使用一个函数 (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)

最佳答案

给定两个字符串 str1str2,比较一个字符串是否等于另一个字符串的反转的最简单方法是使用切片:

str1 = 'racecar'
str2 = 'racecar'

str1 == str2[::-1]
Out[57]: True

这实际上只是检查 str1 是否为回文(即其自身的反转)。

如果您真的想使用递归,您想使用切片:检查 str1[0] == str2[-1],然后在 str1[1:]str2[:-1] 上递归调用您的函数。

[::-1] 语法是 extended slicing语法,它对字符串以及列表和其他序列有效。

关于python - <function>(str1, str2) 分别调用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19746445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com