Solución contar vocales

# 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)

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")