miércoles, 24 de marzo de 2021

Contador de vocales y contando rojo

# 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, vocal vale '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

"""




 



https://learnpython.org/ walter tan bueno como w3schools

 T an bueno como w3schools   https://learnpython.org/  apuntes python 3 con ejercicios  Walter En w3schools hay  html y css también, muy bue...