May-24-2018, 12:02 AM
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 and matches str2, return 'identical', exit
3. Else just return idex+1 which 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 "just return this if other 2 cond. aren't met". hope i am making sense
1. if difference is immediate before end of range, return index, exit
2. if string length is same and index loop is done and matches str2, return 'identical', exit
3. Else just return idex+1 which 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 "just return this if other 2 cond. aren't met". hope i am making sense
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
str1 = "kitti cat" str2 = 'kitti catt' lenStr1 = len (str1) lenStr2 = len (str2) #find shortest str and use it as loop range 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 ) #if other 2 conditions are not met, just return idx+1 which is the last possibility |