Comme le dit le titre J'ai essayé d'en faire une mesure anti-spam Une fonction qui renvoie True si elle chevauche le nombre spécifié de caractères Le code source des spaghettis me pardonne Vous ne pourrez peut-être pas l'utiliser autant w Après la mise sous tension, modifiez pour en créer un nouveau
Sortez caractère par caractère et ajoutez-le à celui pour le comparer et vérifier s'il existe
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
#Code source de spaghetti w
#Peut-être que cela peut être rendu plus compact, mais pardonnez-moi s'il vous plaît
#C'était un problème
Celui-ci est extrêmement facile à comprendre et compact J'ai appris quelque chose Merci
def similer(b,a,m):
return any(a[i:i+m] in b for i in range(len(a) - m))
#Prenez-le avec une tranche et confirmez-le et revenez avec n'importe quel
#Ce sera une excellente étude
similaire (caractère à vérifier, caractère à vérifier, longueur des mots à vérifier s'il est usé)
Peut être utilisé dans.
Un message de spam qui envoie un message avec des caractères aléatoires qui était une certaine discussion. «True» est de retour.
b = """Bonjour. C'est Flage Chat
嘮"""
a = """Bonjour. C'est Flage Chat
蕻"""
print(similer(b,a,5))
# True
False est de retour car ce n'est pas du spam.
b = """i-FILTRE faux positif w"""
a = """A été mis il y a longtemps"""
print(similer(b,a,5))
# False
Remarque! Lorsque vous l'utilisez dans une application de chat, vérifiez-la plusieurs fois ou à plusieurs reprises. Si vous l'envoyez avec le nom d'une personne, il sera considéré à tort comme du spam. Parfois, les phrases courtes ne peuvent pas être détectées. Répétons-le en augmentant le dernier argument de la fonction dans l'ordre.
Si vous comparez quelque chose comme ça, ce sera Vrai sous le nom d'une personne nommée tasuren.
b = """Est-ce que Tasuren l'a fait?"""
a = """Parce que Tassuren a fait hugahuga"""
print(similer(b,a,5))
# True
Donc Lorsque «True» est renvoyé comme spam cinq fois de suite lors de l'envoi d'un message cinq fois C'est un spam! Il vaut mieux donner l'impression de vous le faire savoir.
C'est la fin!
Recommended Posts