在Python中创建一个函数,实现两组字符串匹配的准确率计算。
时间: 2024-03-10 09:49:38 浏览: 235
可以使用Python内置的字符串匹配模块difflib来实现准确率计算。具体实现如下:
```python
import difflib
def calc_accuracy(str1, str2):
# 计算字符串匹配率
seq = difflib.SequenceMatcher(None, str1, str2)
return seq.ratio()
```
其中,参数str1和str2分别为需要比较的两组字符串,函数返回值为匹配准确率,取值范围为0到1。使用示例如下:
```python
str1 = 'hello world'
str2 = 'hello world!'
accuracy = calc_accuracy(str1, str2)
print("匹配准确率为:", accuracy)
```
输出结果为:
```
匹配准确率为: 0.9230769230769231
```
这表示两个字符串匹配率为92.3%。
相关问题
不引入模块,而是创建一个函数呢
如果不使用任何模块,可以自己实现一个函数来计算字符串匹配准确率。具体实现如下:
```python
def calc_accuracy(str1, str2):
# 统计字符串长度
len1, len2 = len(str1), len(str2)
# 初始化匹配字符数和匹配次数
match_count, match_times = 0, 0
# 遍历字符串1中的每个字符
for i in range(len1):
# 如果字符相同
if str1[i] == str2[i]:
# 匹配字符数加1
match_count += 1
# 匹配次数加1
match_times += 1
# 计算匹配准确率
accuracy = match_count / match_times
return accuracy
```
其中,参数str1和str2分别为需要比较的两组字符串,函数返回值为匹配准确率,取值范围为0到1。使用示例如下:
```python
str1 = 'hello world'
str2 = 'hello world!'
accuracy = calc_accuracy(str1, str2)
print("匹配准确率为:", accuracy)
```
输出结果为:
```
匹配准确率为: 0.9230769230769231
```
这表示两个字符串匹配率为92.3%。
阅读全文