edited = False
i, j = 0, 0
while i < len(s1) and j < len(s2):
if s1[i] != s2[j]:
if edited:
return False
edited = True
j += 1
else:
i += 1
j += 1
return True
if edited
语句中的代码是什么?所以,如果它是假的,它返回False?
来源:https://github.com/careercup/CtCI-6th-Edition-Python/blob/master/Chapter%201/5_One%20Away/OneAway.py
答案 0 :(得分:1)
不,如果edited
True ,则该函数返回False。 edited
在第一次if s1[i] != s2[j]
为真时设置为真,第二次测试为真时,函数返回False
。
代码测试序列s1
和s2
之间是否只有一个差异;如果只有一个更改,则函数返回True
,否则它将返回False
。