Palabra más larga sin duplicados
Descripción
¿Cuál es la palabra más larga en la que puedes pensar en la cual cada letra solo aparezca una vez? Veamos si podemos encontrar una palabra más larga que “unpredictably”.
Escribe una función llamada has_duplicates
que tome como parámetro una secuenca - por ejemplo, una lista o una cadena - y que devuelva True
si hay algún elemento que aparezca más de una vez en la secuencia.
Usa esta función para revisar la lista de palabras del archivo words.txt y encontrar si existe una palabra sin letras repetidas que sea más larga que “unpredictably”.
Ejemplo de Ejecución:
>> python has_duplicates.py
ambidextrously
Solución
Mostrar solución
# Usando la función del ejercio previo
# http://pythongym.com/ejercicios/frecuencia-letras-think-python
def has_duplicates(word):
freqs = value_counts(word)
for v in freqs.values():
if v > 1:
return True
return False
test_word = 'unpredictably'
# Buscanr palabras sin duplicados del archivo words.txt
words = open('/content/drive/MyDrive/words.txt', 'r')
for line in words:
word = line.strip()
if len(word) > len(test_word) and not has_duplicates(word):
print(word)
words.close()
Fuente del ejercicio: https://allendowney.github.io/ThinkPython/chap10.html#id1