Python 函数 return 将字符串不同的第一个位置作为索引。如果字符串相同,则应 return -1
Python function that returns the first location as index in which the strings differ. If the strings are identical, it should return -1
我正在编写一个使用函数的 python 程序,例如我的函数名称是 first_difference(str1, str2)
,它接受两个字符串作为参数,returns 中的第一个位置字符串不同。如果字符串相同,则应 return -1。但是,我无法获得字符的索引。我现在只有第一个不同位置的字符,有没有人知道在循环中获取字符索引号的好方法?
def first_difference(str1, str2):
"""
Returns the first location in which the strings differ.
If the strings are identical, it should return -1.
"""
if str1 == str2:
return -1
else:
for str1, str2 in zip(str1, str2):
if str1 != str2:
return str1
string1 = input("Enter first string:")
string2 = input("Enter second string:")
print(first_difference(string1, string2))
测试用例:
输入
输入第一个字符串:python
输入第二个字符串:cython
输出
输入第一个字符串:python
输入第二个字符串:cython
p
所以目标不是 'p',而是获取索引 0 处的 p 的索引号。
您只需要一个索引计数器如下:
s1 = 'abc'
s2 = 'abcd'
def first_difference(str1, str2):
if str1 == str2:
return -1
i = 0
for a, b in zip(str1, str2):
if a != b:
break
i += 1
return i
print(first_difference(s1, s2))
我正在编写一个使用函数的 python 程序,例如我的函数名称是 first_difference(str1, str2)
,它接受两个字符串作为参数,returns 中的第一个位置字符串不同。如果字符串相同,则应 return -1。但是,我无法获得字符的索引。我现在只有第一个不同位置的字符,有没有人知道在循环中获取字符索引号的好方法?
def first_difference(str1, str2):
"""
Returns the first location in which the strings differ.
If the strings are identical, it should return -1.
"""
if str1 == str2:
return -1
else:
for str1, str2 in zip(str1, str2):
if str1 != str2:
return str1
string1 = input("Enter first string:")
string2 = input("Enter second string:")
print(first_difference(string1, string2))
测试用例:
输入
输入第一个字符串:python
输入第二个字符串:cython
输出
输入第一个字符串:python
输入第二个字符串:cython
p
所以目标不是 'p',而是获取索引 0 处的 p 的索引号。
您只需要一个索引计数器如下:
s1 = 'abc'
s2 = 'abcd'
def first_difference(str1, str2):
if str1 == str2:
return -1
i = 0
for a, b in zip(str1, str2):
if a != b:
break
i += 1
return i
print(first_difference(s1, s2))