Python :: Aufgabe #348 :: Lösung #3
 
                       
        4 Lösungen
         
         
        
      
                
       
        
      #348
Noch mehr Mustervergleiche (word pattern)
        Fortgeschrittener - Python
        von JKooP
         - 17.04.2021 um 19:10 Uhr
      
       
      
        Gegeben ist ein Text (String), der ausschließlich aus kleingeschriebenen Wörtern besteht,
welche durch Leerzeichen getrennt sind.
Weiterhin gibt es eine Sequenz (String) mit der der Text verglichen werden soll (Mustergleichheit).
Beispiele:
t = "hund katze katze hund"
s = "abba"
Lösung: wahr => a = hund; b = katze; b = katze; a = hund
t = "hund katze maus hund"
s = "abba"
Lösung: falsch => a = hund; b = katze; b = maus; a = hund (b ist unterschiedlich)
t = "hund hund hund hund"
s = "aaa"
Lösung: falsch => Anzahl stimmt nicht überein
Schreibe eine Methode/Funktion, mit der man die Mustergleichheit überprüfen kann.
Als fakultative Herausforderung: ohne die implementierten Funktionen wie etwa Dictionary, map, set, zip, etc.
Viel Spaß
                                         
           
                     
        
           
           
        
           
        
        
        
        
        
        
        
        
        
      
           
    welche durch Leerzeichen getrennt sind.
Weiterhin gibt es eine Sequenz (String) mit der der Text verglichen werden soll (Mustergleichheit).
Beispiele:
t = "hund katze katze hund"
s = "abba"
Lösung: wahr => a = hund; b = katze; b = katze; a = hund
t = "hund katze maus hund"
s = "abba"
Lösung: falsch => a = hund; b = katze; b = maus; a = hund (b ist unterschiedlich)
t = "hund hund hund hund"
s = "aaa"
Lösung: falsch => Anzahl stimmt nicht überein
Schreibe eine Methode/Funktion, mit der man die Mustergleichheit überprüfen kann.
Als fakultative Herausforderung: ohne die implementierten Funktionen wie etwa Dictionary, map, set, zip, etc.
Viel Spaß
#3
 
                 
        von nitnat (670 Punkte)
         - 07.05.2021 um 19:19 Uhr
       Python-Code
 Python-Codedef pattern_analysis(t):    
    return [[k for k in range(len(t)) if t[k] == t[i]] for i in range(len(t))]        
def pattern_identity(text, sequence):
    text_list = text.split(" ")
    sequence_list = [char for char in sequence]
    
    if len(text_list) == len(sequence_list):
        return pattern_analysis(text_list) == pattern_analysis(sequence_list)
    else:
        return False
    
# Test
t = "coffin substitute outlook bubble substitute coffin"
s = "abcdba"
    
print(pattern_identity(t, s))Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
          
          
                 Seite 1 von 0
          
                 1
          
          
             
       
    
    
    

 
    
    
    