我正在尝试创建一个函数来检查python中字符串的结尾,如果它与我定义的条件匹配则返回一个整数,但是我遇到了重叠数字的问题是否有办法让我只需使用内置的字符串函数而不使用任何导入来解决这个问题?例如字符串' AAZZ'应该回到我的两个,但返回四个。条件是A与Z匹配,Y与C匹配。函数将查找要匹配的对,直到它遇到一个与它将停止的位置不匹配的对并返回它对count的值。 以下是我到目前为止的情况:
def matching(str):
i = 0
j = -1
count = 0
while i < len(str):
if str[i] == 'A' and str[j] == 'Z':
i += 1
j -= 1
count += 1
elif str[i] == 'Z' and str[j] == 'A':
i += 1
j -= 1
count += 1
elif str[i] == 'Y' and str[j] == 'C':
i += 1
j -= 1
count += 1
elif str[i] == 'C' and str[j] == 'Y':
i += 1
j -= 1
count += 1
else:
count = 0
return count
答案 0 :(得分:1)
您需要将条件更改为i < len(str) + j
,否则您将计算两次(每次一次)。