[New-bugs-announce] [issue45180] possible wrong result for difflib.SequenceMatcher.ratio()
Nabeel Alzahrani
report at bugs.python.org
Mon Sep 13 00:02:54 EDT 2021
New submission from Nabeel Alzahrani <nalza001 at ucr.edu>:
The difflib.SequenceMatcher.ratio() gives 0.3 instead of 1.0 or at least 0.9 for the following two strings a and b:
a="""
#include <iostream>
#include <string>
using namespace std;
int main() {
string userWord;
unsigned int i;
cin >> userWord;
for(i = 0; i < userWord.size(); i++) {
if(userWord.at(i) == 'i') {
userWord.at(i) = '1';
}
if(userWord.at(i) == 'a') {
userWord.at(i) = '@';
}
if(userWord.at(i) == 'm') {
userWord.at(i) = 'M';
}
if(userWord.at(i) == 'B') {
userWord.at(i) = '8';
}
if(userWord.at(i) == 's') {
userWord.at(i) = '$';
}
userWord.push_back('!');
}
cout << userWord << endl;
return 0;
}
"""
b="""
#include <iostream>
#include <string>
using namespace std;
int main() {
string userWord;
unsigned int i;
cin >> userWord;
userWord.push_back('!');
for(i = 0; i < userWord.size(); i++) {
if(userWord.at(i) == 'i') {
userWord.at(i) = '1';
}
if(userWord.at(i) == 'a') {
userWord.at(i) = '@';
}
if(userWord.at(i) == 'm') {
userWord.at(i) = 'M';
}
if(userWord.at(i) == 'B') {
userWord.at(i) = '8';
}
if(userWord.at(i) == 's') {
userWord.at(i) = '$';
}
}
cout << userWord << endl;
return 0;
}
"""
----------
components: Library (Lib)
messages: 401683
nosy: nalza001
priority: normal
severity: normal
status: open
title: possible wrong result for difflib.SequenceMatcher.ratio()
type: behavior
versions: Python 3.10, Python 3.11, Python 3.6, Python 3.7, Python 3.8, Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue45180>
_______________________________________
More information about the New-bugs-announce
mailing list