how to return last condition if other 2 not met?

asa32sd23 at gmail.com asa32sd23 at gmail.com
Wed May 23 19:57:48 EDT 2018


i want to check/return for 3 conditions, it loops shortest str and finds diff in other
1. if difference is immediate before end of range, return index, exit
2. if string length is same and index loop is done, return 'identical'
3. if neither of above is found. it means the short loop ended and every letter was same so next letter of longer str is the diff, just return idex+1
but my last print statement always print. not sure how to end this

[code]
str1= "kitti cat"
str2= 'kitti catt'
lenStr1= len(str1)
lenStr2= len(str2)

#find shortest str and loop range with this one
if lenStr1 >= lenStr2:
    str= str2
else:
    str= str1
        
# loop each character of shortest string, compare to same index of longer string
# if any difference, exit and return index of difference
for idx in range(len(str)):
    a= str1[idx]
    b= str2[idx]
    if a != b:      #immeditely exit, since non-match found
        print(idx)
        break
    else:
       if len(str1) == len(str2) and idx == len(str1)-1: #if no difference print 'identical'
            print("identical")
            break

print(idx+1)
[/code]



More information about the Python-list mailing list