Comparación
Escriba una función que reciba dos strings a comparar y un nivel de tolerancia que es un número entero no negativo (cero o más). La función debe retornar True si los strings son iguales ignorando diferencias hasta la cantidad de tolerancia indicada. Por ejemplo, "perro" y "perXo" son iguales para tolerancia 1, pero son distintos para tolerancia 0.
Solución
def comparacion(s1, s2, tol):
dif = 0 # Contador para los caracteres distintos
# Obtencion de menor longitud
lon = len(s1)
if len(s2) < lon:
lon = len(s2)
# Recorrer cadenas
i = 0
while i < lon:
if s1[i] != s2[i]: # Se cuentan los caracteres distintos
dif +=1
i += 1
# Retorna True si la diferencia es menor o igual a la tolerancia
# Caso contrario False
return dif <= tol
# Entradas
str1 = input("String 1: ")
str2 = input("String 2: ")
tolerancia = int(input("Tolerancia: "))
# Salida
if comparacion(str1, str2, tolerancia):
print("Iguales con tolerancia =", tolerancia)
else:
print("Distintos con tolerancia =", tolerancia)