使用Python中的zip方法根据索引计算两个字符串中的字符相等数
我正在尝试编写一段代码,比较两个字符串的字符,然后显示匹配的字符数 我就是这样开始的,但是我不知道如何实际使用这个方法来比较两个字符串使用Python中的zip方法根据索引计算两个字符串中的字符相等数,python,Python,我正在尝试编写一段代码,比较两个字符串的字符,然后显示匹配的字符数 我就是这样开始的,但是我不知道如何实际使用这个方法来比较两个字符串 password = 'BADGED' guess = 'BALDER' for p, g in zip(password, guess): 非常感谢您的帮助和建议 编辑:我正在尝试按各自的顺序匹配字符。如果使用zip,则只检查序列对。 您需要两个循环来检查可以按不同顺序进行的匹配 password = 'BADGED' guess = 'BAL
password = 'BADGED'
guess = 'BALDER'
for p, g in zip(password, guess):
非常感谢您的帮助和建议
编辑:我正在尝试按各自的顺序匹配字符。如果使用zip,则只检查序列对。 您需要两个循环来检查可以按不同顺序进行的匹配
password = 'BADGED'
guess = 'BALDER'
answer = 0
for p in password:
for g in guess:
if p == g:
answer += 1
print(answer)
如果您想要完全连续的对,只需使用邮政编码或邮政编码链接
带索引的变量
请注意,如果字符串长度不同,将抛出错误
password = 'BADGED'
guess = 'BALDER'
answer = 0
for i in range(len(password)):
if password[i] == guess[i]:
answer += 1
print(answer)
带迭代器的变量
如果使用zip,则只检查串行对。 您需要两个循环来检查可以按不同顺序进行的匹配
password = 'BADGED'
guess = 'BALDER'
answer = 0
for p in password:
for g in guess:
if p == g:
answer += 1
print(answer)
如果您想要完全连续的对,只需使用邮政编码或邮政编码链接
带索引的变量
请注意,如果字符串长度不同,将抛出错误
password = 'BADGED'
guess = 'BALDER'
answer = 0
for i in range(len(password)):
if password[i] == guess[i]:
answer += 1
print(answer)
带迭代器的变量
我会将其封装在如下函数中:
def matches(s1, s2):
matches = []
for c1, c2 in zip(s1, s2):
if c1 == c2:
matches.append(c1)
return matches
输出:
>>> matches('TEST', 'TEST')
['T', 'E', 'S', 'T']
>>> matches('BADGED', 'BALDER')
['B', 'A', 'E']
我会将其封装在如下函数中:
def matches(s1, s2):
matches = []
for c1, c2 in zip(s1, s2):
if c1 == c2:
matches.append(c1)
return matches
输出:
>>> matches('TEST', 'TEST')
['T', 'E', 'S', 'T']
>>> matches('BADGED', 'BALDER')
['B', 'A', 'E']
这适用于长度相同的弦:
password = 'BADGED'
guess = 'BALDER'
answer = 0
for p, g in zip(password, guess):
if p==g :
answer +=1
print(answer)
这适用于长度相同的弦:
password = 'BADGED'
guess = 'BALDER'
answer = 0
for p, g in zip(password, guess):
if p==g :
answer +=1
print(answer)
这将按照各自的顺序计算两个字符串之间的相似性比率。之前,请使用以下命令安装fuzzywuzzy:pip install fuzzywuzzy
from fuzzywuzzy import fuzz
password = 'BADGED'
guess = 'BALDER'
print(fuzz.ratio(password,guess))
这将按照各自的顺序计算两个字符串之间的相似性比率。之前,请使用以下命令安装fuzzywuzzy:pip install fuzzywuzzy
from fuzzywuzzy import fuzz
password = 'BADGED'
guess = 'BALDER'
print(fuzz.ratio(password,guess))
您已经成功地在成对的字符上编写了一个循环。你知道如何做平等比较吗?您知道如何递增计数器吗?您已经成功地在成对的字符上编写了一个循环。你知道如何做平等比较吗?你知道如何增加计数器吗?对不起,我应该指定。我实际上是在按各自的顺序查找匹配的字符。我完成了我的回答,@DrosiiSorry我应该指定的。我实际上是在按各自的顺序寻找匹配的字符。我完成了我的回答,@Drosii