[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