# Contador de Vocales, expilca primero el ejemplo inferior, más sencillo:
s = 'fadrtipejo712azcbobobegghakl'
numeroVocales=0
for vocal in s:
if vocal in 'aeiou':
numeroVocales+=1
print('Numero de vocales: '+str(numeroVocales)) # str convierte el número en cadena """PRIMERO Vamos a desglosar paso a paso lo que hace este código (parecido y más sencillo que el de arriba): s = 'fadrtipejo712azcbobobegghakl'
for vocal in s:
print(vocal)
🔹 1. s = 'fadrtipejo712azcbobobegghakl'
Aquí se crea una cadena de texto (string) llamada s que contiene varias letras y números.
🔹 2. for vocal in s:
Este es un bucle for que recorre cada carácter dentro de la cadena s.
-
En la primera vuelta,
vocalvale'f' -
En la segunda, vale
'a' -
En la tercera,
'd' -
…y así hasta el final de la cadena.
🔹 3. print(vocal)
En cada vuelta del bucle, el programa imprime el carácter actual.
Entonces, si ejecutas este código, la salida será:
f
a
d
r
t
i
p
e
j
o
7
1
2
a
z
c
b
o
b
o
b
e
g
g
h
a
k
l
"""
# Contando Rojo, ejemplo más compicado: # Contando Rojo s = 'graffirojorojorfrojob rojo' nPosicion=0 doLoop=True numRojos=0 while(doLoop): nPosicion = s.find('rojo',nPosicion) # find devuelve -1 cuando NO encuentra lo que le pedimos if (nPosicion!=-1): print("Encontrado 'rojo' en posicion: "+str(nPosicion)) numRojos+=1 nPosicion+=1 else: doLoop=False
print("Veces que se repite 'rojo' en la cadena:: "+str(numRojos))
#ejemplo .join con lista de números y explicación
l = [1, 2, 3, 4, 5, 6]
output = "_".join(str(e) for e in l)
print(output)
"""
Explicación
join() solo funciona con cadenas de texto, no con números.
Por eso hacemos str(e) para convertir cada elemento numérico a cadena.
El generador (str(e) for e in l) produce ["1", "2", "3", "4", "5", "6"].
➡️ Resultado:
1_2_3_4_5_6
🔹 2. Caso de lista (o tupla) de cadenas
miTuple = ("Juan", "Marta", "Eva")
x = "#".join(miTuple)
print(x)
Aquí no hace falta convertir, porque los elementos ya son strings.
join() une directamente "Juan", "Marta" y "Eva" con # como separador.
➡️ Resultado:
Juan#Marta#Eva
"""