Como llevo un tiempo algo oxidado por falta de tiempo. ( me las voy a ver y desear para el curso de Coursera).
Hice el mismo ejemplo para Python que hace poco os mostraba en Gambas.
La cosa de este ejemplo, es reconocer que letras ya han sido reconocidas.
lista_letras = []
lista_indices = []
palabra = 'sarcastico'
# Lleno la lista con tantos ceros como la palabra sea de larga
# Son numeros, no caracteres
# lista_indices = list(range(1)) * len(palabra)
# Se puede mejorar o hacerse de una manera más fácil
lista_indices = [0] * len(palabra)
for x in range(len(palabra)):
letra_actual = palabra[x]
# Si la letra no esta en la lista la añado a la lista
if letra_actual not in lista_letras:
lista_letras.append(letra_actual)
# Hay que tener cuidado con el bucle, que luego nos puede dar fuera de indice con la lista.
# Por eso hay que decirle que el rango abarque la longitud total de la palabra menos 1
for y in range(x,len(palabra) - 1):
if letra_actual == palabra[y + 1]:
lista_indices[x] += 1
# Control de singular y plural
if lista_indices[x] > 1 or lista_indices[x] == 0:
plural_singular = " veces"
else:
plural_singular = " vez"
# Se muestra la letra y el numero de veces que se repite
print (letra_actual + " se repite " + str(lista_indices[x]) + plural_singular)
lista_indices = []
palabra = 'sarcastico'
# Lleno la lista con tantos ceros como la palabra sea de larga
# Son numeros, no caracteres
# lista_indices = list(range(1)) * len(palabra)
# Se puede mejorar o hacerse de una manera más fácil
lista_indices = [0] * len(palabra)
for x in range(len(palabra)):
letra_actual = palabra[x]
# Si la letra no esta en la lista la añado a la lista
if letra_actual not in lista_letras:
lista_letras.append(letra_actual)
# Hay que tener cuidado con el bucle, que luego nos puede dar fuera de indice con la lista.
# Por eso hay que decirle que el rango abarque la longitud total de la palabra menos 1
for y in range(x,len(palabra) - 1):
if letra_actual == palabra[y + 1]:
lista_indices[x] += 1
# Control de singular y plural
if lista_indices[x] > 1 or lista_indices[x] == 0:
plural_singular = " veces"
else:
plural_singular = " vez"
# Se muestra la letra y el numero de veces que se repite
print (letra_actual + " se repite " + str(lista_indices[x]) + plural_singular)
Por los siglos de los siglos..
Pues no me he olvidado de este.
Saludos