# pedir una cadena al usuario # y decir cuantas vocales tiene # pido una cadena al usuario cadena = input("Dame una cadena ") totalVocales = 0 # Recorreré la cadena for letra in cadena: # comprobaré si es vocal if letra == "a" or letra == "e" or letra == "i" or letra == "o" or letra == "u": totalVocales += 1 # imprimo el resultado print("vocales",totalVocales) vocalesSin=0 vocalescon=0 for letra in cadena: # comprobaré si es vocal for vocal in "aeiou": if letra == vocal: vocalesSin += 1 for vocal in "áéíóúàèìòùü": if letra == vocal: vocalescon += 1 # imprimo el resultado print("vocales sin acentos",vocalesSin) print("vocales con acentos",vocalescon)
Categoría: Python
Ejercicio bucle
Vamos a pedir una cadena al usuario y vamos a decir el número de vocales que tiene.
Una vocal es a,e,i,o,u
Pasos:
-Pedir una cadena al usuario
– recorrer las letra de la cadena
– si es vocal contarla
– mostrar el resultado
Ejemplos bucles for
for i in range(10, 0, -1): print(i) for i in range(101): cuadrado = i ** 2 if cuadrado % 2 == 0: print(cuadrado) numero = 20000000 queEs = True for i in range(2, numero): if numero % i == 0: queEs = False break # Un ejemplo muy bueno de uso de break print(queEs) # ¿Que nos está averiguando la variable queEs? if queEs: print(numero, "es primo") else: print(numero, "no es primo") # break y continue # break sale del bucle y continue se salta las siguientes instrucciones del bucle for i in range(10): if i == 5: break # Sal del bucle, acabado print(i) for i in range(10): if i == 5: continue # Salta la siguiente instrucción print(i) cesta = [10, 30, 40, 5] # esto es una lista lo veremos suma = 0 for valor in cesta: suma += valor print(suma) cadena = "" for i in range(5): cadena += "*" print(cadena) cadena = "hola que tal" palabras = 1 for letra in cadena: if letra == " ": palabras += 1 print(palabras) # Bucles anidados: un bucle dentro de otro bucle for i in range(1, 11): print(i, "x 7 =", i * 7) print("-----------") # Todas las tablas de multiplicar for tabla in range(1, 11): for i in range(1, 11): print(i, "x ", tabla, " =", i * tabla) print("-----------") # Todos los números primos hasta el 100 for numero in range(2,101): queEs = True for i in range(2, numero): if numero % i == 0: queEs = False break if queEs: print(numero)
Bucle for
frutas = ["manzana", "banana", "cereza"] for fruta in frutas: print(fruta) for contador in range(10): print(contador) # range(valor) -> 0 hasta el valor -1 # range(inicio,fin) -> desde inicio hasta fin -1 # range(inicio,fin,paso) -> desde inicio hasta fin de paso en paso for i in range(5, 12): print(i) print("---------") for i in range(0, 100, 5): # range(inicio,fin) -> desde inicio hasta fin -1 print(i) print("---------") for i in range(10, 1, -1): # range(inicio,fin) -> desde inicio hasta fin -1 en este caso paso negativo print(i) suma = 0 for i in range(101): suma += i print(suma) for letra in "hola que tal": print(letra) letraABuscar = "a" contador = 0 cadena = "tal" for letra in cadena: if letra == letraABuscar: contador += 1 print("En '", cadena, "' hay", contador, "letras", letraABuscar) notas = [5, 8, 1, 3, 6, 9] aprobados = 0 for nota in notas: if nota >= 5: aprobados += 1 print("Hay", aprobados, "aprobados")
Soluciones ejercicios bucles while
# Escribir un programa que nos muestre una cuenta atrás desde 10 # 10 9 8 ... cuenta = 10 while cuenta > 0: print(cuenta) cuenta -= 1 # Escribir un programa que muestre los cuadrados pares de los números del 1 al 100 # 4,16,36.... contador = 1 while contador <= 100: # calculo el cuadrado cuadrado=contador**2 # compruebo si es par if (cuadrado % 2 == 0): # imprimo print(cuadrado) contador += 1
Ejemplos
# Bucle es repetir algo varias veces # while condicion: ejecutamos algo contador = 0 while contador < 5: # mientras contador valga menos de 10 ejecuta el siguiente código contador += 1 # dentro del while print(contador) # dentro del while print("Proceso acabado") # fuera del while contador = 1 while contador < 100 and contador % 7 != 0: contador += 1 # dentro del while print(contador) # dentro del while # suma los números del 1 al 100 contador = 1 suma = 0 while contador <= 100: suma += contador contador += 1 print("Los numeros del 1 al 100 suman ", suma) # imprime por la consola los cuadrados de los números del 1 al 10 contador = 1 while contador <= 10: print(contador ** 2) contador += 1 cadena="" while len(cadena)<10: cadena+="*" print(cadena) contador=0 while contador<100: contador+=7 print(contador)
Ejemplos combinadas
edad = 19 altura = 130 print("Tu altura es de ", 130, " cm") # En una atracción del Tibidabo puedes entrar si mides más de 130 cm o tienes más de 10 años # condiciones combinadas: tener varias condiciones conectadas con operadores lógicos # ¿Qué es un operador lógico? Básicamente dos: and y or # and implica que se cumplan las dos condiciones # or que se cumpla alguna if edad >= 10 or altura >= 130: print("Puedes subir") else: print("No puedes subir") # Para entrar en la discoteca tienes que tener más de 18 años y llevar zapatos llevoZapatos = True if edad >= 18 and llevoZapatos: print("Puedes entrar a la discoteca") else: print("No puedes entrar") # hay otro operador lógico que es el not: lo que hace es negar la condición llevoZapatillas = True if edad >= 18 and not llevoZapatillas: print("Puedes entrar") else: print("No puedes entrar") departamento = "marketing" sueldo = 1000 # si el departamento es marketing y el sueldo está entre 900 y 1500 el irpf es de .8 # si el departamento es contabilidad y el sueldo está entre 1000 y 5000 el irpf es de .9 if departamento == "marketing" and sueldo >= 900 and sueldo <= 1500: irpf = .8 if departamento == "contabilidad" and sueldo >= 1000 and sueldo <= 5000: irpf = .9 # prioridad: not and or # departamento marketing y sueldo > 3000 o departamento contabilidad y sueldo >4000 irpf=1.2 if departamento == "marketing" and sueldo > 3000 or departamento == "contailidad" and sueldo > 4000: irpf = 1.2 # pero si no lo tengo claro if (departamento == "marketing" and sueldo > 3000) or (departamento == "contailidad" and sueldo > 4000): irpf = 1.2 # tengo una tienda online y aplico descuentos si se cumplen las siguientes características: # por defecto ningún descuento # si el cliente es de Barcelona y la compra es superior a 500, 10% de descuento # si el cliente es de Tarragona y la compra es superior a 700, 10% de descuento # si no es de Barcelona ni Tarragona y la compra es superior a 1000, 5% de descuento descuento = 0 compra = 800 ciudad = "Logroño" # ciudad=="Barcelona" # compra>=500 if ciudad == "Barcelona" and compra >= 500: descuento = 10 if ciudad == "Tarragona" and compra > 700: descuento = 10 # este if es equivalente a los dos anteriores if ciudad == "Barcelona" and compra >= 500 or ciudad == "Tarragona" and compra > 700: descuento = 10 # ciudad no sea Tarragona o Barcelona if not (ciudad == "Barcelona" or ciudad == "Tarragona") and compra >= 1000: descuento = 5
Solución ejercicios
# Crea un programa que pida al usuario dos números y determine cuál es el # mayor de los dos números. # Si son iguales, muestra cualquiera de los dos # mejorado: un mensaje que indique que los números son iguales. # pedir un numero al usuario y convertirlo numero1 = input("Dime el primer número ") numero1 = float(numero1) # pedir un segundo numero y convertirlo numero2 = input("Dime el segundo número ") numero2 = float(numero2) # con un if mirar cual es el mayor e imprimirlo if numero1 > numero2: print("El número mayor es ", numero1) elif numero2 > numero1: print("El número mayor es ", numero2) else: print("Son iguales") # o a>b y el mayor es a o b>a y el mayor es b ==> lo pasamos a if # Escribe un programa que solicite al usuario su calificación en un examen y determine si # ha aprobado o reprobado. Si la calificación es igual o superior a 60, # muestra “Aprobado”, de lo contrario, muestra “Reprobado”. calificacion = input("Dime tu calificación ") calificacion = float(calificacion) if calificacion >= 60: print("Aprobado") else: print("Reprobado")
Más ejemplos if
# Basándonos en el imc decir al usuario si está bien en su peso o no peso = input("Dame tu peso ek kg ") # pido el peso y nos devuelve una cadena altura = input("Dame tu altura en metros ") # pido la altura y nos devuelve una cadena peso = float(peso) # float es para números con decimales altura = float(altura) # La altura tendrá decimales imc = peso / (altura ** 2) print("Tu imc es ", imc) if imc < 18.5: print("Bajo peso") elif imc < 25: print("Peso normal") elif imc < 35: print("Sobrepeso") else: print("Obesidad") anyo = input("Dime tu año de nacimiento") anyo = int(anyo) edad = 2024 - anyo if edad < 18: print("Eres menor de edad") else: print("Eres mayor de edad") # Desarrolla un programa que pida al usuario un número entero y determine si es par o impar. # Si es par, muestra “Es un número par”, si es impar, muestra “Es un número impar”. numero = input("Dime un número, por favor ") numero = int(numero) if numero % 2 == 0: print("Es par") else: print("Es impar")
Ejemplos if python
edad = 12 if edad >= 18: print("Eres mayor de edad") print("Puedes entrar a la discoteca") else: # opcional y se ejecuta si no se cumple la condición print("Los menores de edad no tienen permitida la entrada") print("Esto está fuera del if") # > >= < <= == (igual) != (diferente) ciudad = "Barcelona" if ciudad == "Barcelona": print("Tienes descuento") if ciudad != "Tarragona": print("Ven a visitarnos") # if ... elif nos permite concatenar diferentes condiciones # Normalmente se utiliza sobre la misma variable y se usa para # rangos if edad < 10: print("Eres un infante") elif edad < 18: print("Eres menor de edad") elif edad < 65: print("Eres un adulto") else: print("Eres un jubilado") if edad < 18: if ciudad == "Barcelona": print("Eres un menor de edad de Barcelona") else: print("Eres un menor de edad pero no de Barcelona") else: print("Eres mayor de edad")