2016-04-20 14 views
-4

Ich brauche einen Algorithmus, um übereinstimmende Buchstaben zwischen zwei Raw_input Zeichenfolgen zu zählen. Ich kann keine Textvergleichsalgorithmen wie count() oder findall() verwenden. Ich muss meinen eigenen Algorithmus zusammenstellen. Zwei Texte müssen Buchstabe für Buchstabe verglichen werden. Kann mir jemand helfen, diesen Code zu schreiben?Zählen von gemeinsamen Buchstaben zwischen zwei Zeichenfolgen in Python

+5

Beginnen Sie mit der besten Strategie, die Sie sich vorstellen können, und wenn es nicht, Posten funktioniert hier Ihren Code eingeben, damit andere verbessern. – Selcuk

+5

Ich denke, Sie sollten versuchen, etwas Code schreiben und dann erneut mit spezifischen Problemen, die Sie mit dem Code haben –

+0

'sum (a == b für a, b in zip (s1, s2))' sollte genug sein. – Matthias

Antwort

1

können Sie die Wörterbücher verwenden, wie unten:

test1 = input("String1: ") 
test2 = input("String2: ") 

common = {} 
if len(test1)<len(test2): 
    for letter in test1: 
      if letter in test2: 
       common[letter]= 1 

else: 
    for letter in test2: 
      if letter in test1: 
       common[letter]= 1 
print (len(common)) 
+0

Können Sie mir sagen, wie man ein Programm schreibt, das dem Benutzer zwanzig Fragen stellt, um herauszufinden, an wen er denkt? ... Je mehr freier Code veröffentlicht wird, desto mehr freien Code wird erwartet. – zondo

+1

Das vergleicht die Zeichenfolgen nicht Buchstabe für Buchstabe. Sie verwenden 'in'. Sie müssen sehen, ob nicht nur das Zeichen in der anderen Zeichenkette ist, aber ist es auch auf dem gleichen Index? – zondo

+0

Ja, ich muss sehen, ob das Zeichen im gleichen Index ist. Zum Beispiel, wenn in der ersten Eingabe Benutzer schreibt: aaaaa und sucht in der nächsten aa, dann gibt das Programm 2. – Mell