Überprüfen Sie, ob die Zeichen in Python ähnlich sind

Wie der Titel schon sagt Ich habe versucht, es als Anti-Spam-Maßnahme zu machen Eine Funktion, die True zurückgibt, wenn sie die angegebene Anzahl von Zeichen überlappt Spaghetti-Quellcode vergib mir Sie können es möglicherweise nicht so oft verwenden w Bearbeiten Sie nach dem Einschalten, um eine neue zu erstellen

Code

Es fühlt sich an, als würde man Charakter für Charakter herausnehmen und zu dem hinzufügen, der es vergleicht, und prüfen, ob es existiert

Die, die ich zuerst gemacht habe

def similer(b,a,m):
    al = list(a)
    cc = ""
    cu = 0
    co = 0
    cuo = 0
    for c in al:
        co += 1
        for ck in al:
            cuo += 1
            if cuo-1 < co-1:
                continue
            cc = cc + ck
            cu += 1
            if cu == m:
                break
        if cu == m:
            if cc in b:
                return True
        cc = ""
        cuo = 0
        cu = 0
    return False
#Spaghetti-Quellcode w
#Vielleicht kann es kompakter gemacht werden, aber bitte vergib mir
#Es war ein Ärger

Die von einer anderen Person im Kommentarbereich gemachte (zusätzliche Anmerkung)

Dieser ist überwiegend leicht zu verstehen und kompakt Ich habe etwas gelernt Vielen Dank

def similer(b,a,m):
    return any(a[i:i+m] in b for i in range(len(a) - m))
#Nehmen Sie es mit einer Scheibe und bestätigen Sie es und kehren Sie mit einer zurück
#Es wird eine großartige Studie sein

Anwendungsbeispiel

similer (zu prüfendes Zeichen, zu prüfendes Zeichen, Wortlänge, um zu prüfen, ob es abgenutzt ist) Kann in verwendet werden.

Spam

Eine Spam-Nachricht, die eine Nachricht mit zufälligen Zeichen sendet, die ein bestimmter Chat war. True ist zurück.

b = """Hallo. Dies ist Flage Chat
嘮"""
a = """Hallo. Dies ist Flage Chat
蕻"""

print(similer(b,a,5))
# True

Gewöhnliche Nachricht

False ist zurück, weil es kein Spam ist.

b = """i-FILTER falsch positiv w"""
a = """Es wurde vor langer Zeit eingesetzt"""

print(similer(b,a,5))
# False

Schauen Sie, wenn Sie versuchen, zu verwenden

Hinweis! Wenn Sie es in einer Chat-App verwenden, überprüfen Sie es mehrmals oder wiederholt. Wenn Sie es mit dem Namen einer Person senden, wird es als Spam falsch eingeschätzt. Manchmal können kurze Sätze nicht erkannt werden. Wiederholen wir dies, indem wir das letzte Argument der Funktion der Reihe nach erhöhen.

Falsch positives Beispiel

Wenn Sie so etwas vergleichen, wird es unter dem Namen einer Person namens tasuren wahr sein.

b = """Hat Tasuren es getan?"""
a = """Weil Tassuren Hugahuga gemacht haben"""

print(similer(b,a,5))
# True

Damit Wenn "True" fünfmal hintereinander als Spam zurückgegeben wird, wenn eine Nachricht fünfmal gesendet wird Es ist Spam! Es ist besser, wenn Sie das Gefühl haben, es Sie wissen zu lassen.

das Ende

Es ist das Ende!

Recommended Posts

Überprüfen Sie, ob die Zeichen in Python ähnlich sind
Überprüfen Sie, ob die URL in Python vorhanden ist
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
Überprüfen Sie das Verhalten des Zerstörers in Python
Python Hinweis: Stellen Sie fest, ob das Befehlszeilenargument in der Liste enthalten ist
Überprüfen Sie, ob der von PHP generierte Passwort-Hash in Python übereinstimmt
So überprüfen Sie anhand des Hashwerts, ob der Inhalt des Wörterbuchs in Python identisch ist
Feststellen, ob das Bild Vögel enthält
Überprüfen Sie, ob die erwartete Spalte in Pandas DataFrame vorhanden ist
Überprüfen Sie, ob es sich um Unix in der Skriptsprache handelt
Verschieben Sie die Alphabetzeichenfolge in Python um N Zeichen
Überprüfen Sie die atrophische Natur der Wahrscheinlichkeitsverteilung in Python
Finde Fehler in Python
[Python] Überprüfen Sie die installierten Bibliotheken
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Stellen Sie sicher, dass alle Elemente in der Liste in Python identisch sind
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
Den Typ mit Python beherrschen? (Wann ist eine Typprüfung durchzuführen?)
Überprüfen Sie Python auf Speicherlecks
[Python] Überprüfen Sie das aktuelle Verzeichnis und verschieben Sie das Verzeichnis
Abrufen der arXiv-API in Python
Suchen Sie mit Python nach externen Befehlen
Überprüfen Sie das Verhalten beim Zuweisen von Python
Python im Browser: Brythons Empfehlung
Speichern Sie die Binärdatei in Python
Klicken Sie in Python auf die Sesami-API
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Skriptpfad in Python
Im Python-Befehl zeigt Python auf Python3.8
Implementieren Sie das Singleton-Muster in Python
Zeigen Sie Zeichen wie AA in Python an
Überprüfen und verschieben Sie das Verzeichnis in Python
Klicken Sie auf die Web-API in Python
Überprüfen Sie die Datenzusammenfassung in CASTable
Ich habe die Warteschlange in Python geschrieben
Berechnen Sie den Vormonat in Python
Untersuchen Sie die Klasse eines Objekts mit Python
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Hostnamen in Python
Greifen Sie mit Python auf die Twitter-API zu
Der erste Schritt von Python Matplotlib
Ich habe den Stack in Python geschrieben
Beherrsche das schwache Ref-Modul in Python
Zählen Sie die Anzahl der thailändischen und arabischen Zeichen in Python gut
Überprüfen Sie, ob die Einstellungsdatei leicht verständlich gelesen wird
So überprüfen Sie die Speichergröße einer Variablen in Python
Python: Verwenden Sie die im Zeichenfolgenformat definierten Variablen unverändert
Löschen Sie ein bestimmtes Zeichen in Python, wenn es das letzte ist
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Stellen Sie fest, ob alle Listenelemente im Diktatschlüssel vorhanden sind
Überprüfen Sie, ob Sie in Python eine Verbindung zu einem TCP-Port herstellen können
Überprüfung der Theorie, dass "Python und Swift ziemlich ähnlich sind"
Stellen Sie sicher, dass Python eine Zeichenfolge in int konvertieren / konvertieren kann
[Golang] Überprüfen Sie, ob eine bestimmte Zeichenfolge in der Zeichenfolge enthalten ist
Wenn Sie der Meinung sind, dass die Person, die Sie mit pip eingegeben haben, nicht funktioniert → Verwenden Sie python3 zufällig?
Lernen Sie das Entwurfsmuster "Prototype" mit Python
Füllen Sie die Zeichenfolge mit Nullen in Python und zählen Sie bestimmte Zeichen aus der Zeichenfolge
Lernen Sie das Entwurfsmuster "Builder" mit Python