# 1.- Pedir un número al usuario y hacer una cuenta regresiva desde ese número # Pedir un número numero = int(input("Dame un número entero")) # Contar desde el número hasta el cero while numero >= 0: # Imprimir esa 'cuenta' para ver la regresión print(numero) numero = numero - 1 # numero-=1 # Sumar todos los números pares del 1 al 100 (incluidos) # ¿Se averiguar todos los números pares del 1 al 100? # ¿Se mostrar todos los número del 1 al 100? # ¿Se cuando un número es par o impar? # ¿Se sumar en una variable? numero = 1 suma = 0 while numero <= 100: if numero % 2 == 0: suma += numero numero += 1 print(suma) numero = 0 suma = 0 while numero <= 100: suma += numero numero += 2 print(suma) # Mostrar la tabla de multiplicar del 7 # 1x7=7 2x7=14 3x7=21....10x7=70 # Esto SI es un bucle # Con qué numero empieza el bucle y con cual acaba # Del 1 al 10 numero = 1 while numero <= 10: print(f"{numero} x 7 = {numero * 7}") numero += 1 # Pedir números al usuario hasta que introduzca un 0. Mostrar el número mayor # Pedir un número al usuario (lo sabemos) # Saber un bucle hasta que un valor sea 0 # Saber cual es el mayor de una serie de números # Pido un número al usuario numero = int(input("Dame un número entero")) # De momento me lo quedo. Lo que es correcto es el mayor mayor = numero # Mientras el usuario no me introduzca un 0, voy pidiendo números while numero != 0: numero = int(input("Dame un número entero")) # Si el número que me ha dado el usuario es mayor que el que ya tenía, pues me quedo con él if numero > mayor: mayor = numero print(mayor) # Escribir un programa que pida nombres y salga cuando escribamos la palabra ‘salir’ # Pido un nombre # bucle hasta que digan salir nombre = "" while nombre != "salir": nombre = input("Dime un nombre") nombre = "" lista = "" while nombre != "salir": nombre = input("Dime un nombre") lista += nombre + " " print(lista) # Modificar el programa anterior para que salga cuando repitamos el nombre # cuando el nombre que me introducen es igual al anterior nombre = "" anterior = "#" while nombre != anterior: anterior = nombre nombre = input("Dime un nombre") # Escribir un programa que calcule la suma de todos los múltiplos de 5 menores de 100 numero = 0 suma = 0 while numero <= 100: suma += numero numero += 5 print(suma) # Pedir un número y calcular el factorial (factorial de 5. 5*4*3*2*1) # Pido un número # Hago un bucle desde donde hasta donde? # Empiezo en el número y acabo en el 1 numero = int(input("Dime un número")) factorial = 1 while numero >= 1: factorial = factorial * numero numero -= 1 print(factorial) # Mostrar los cuadrados de los números del 1 al 10 # bucle del 1 al 10 numero=1 while numero<=10: print(numero**2) numero+=1
Categoría: Python
Ejercicios While
1.- Pedir un número al usuario y hacer una cuenta regresiva desde ese número
2.- Sumar todos los números pares del 1 al 100 (incluidos)
3.- Mostrar la tabla de multiplicar del 7
4.- Pedir números al usuario hasta que introduzca un 0. Mostrar el número mayor
5.- Escribir un programa que pida nombres y salga cuando escribamos la palabra ‘salir’
6.- Modificar el programa anterior para que salga cuando repitamos el nombre
7.- Escribir un programa que calcule la suma de todos los múltiplos de 5 menores de 100
8.- Pedir un número y calcular el factorial (factorial de 5. 5*4*3*2*1)
9.- Mostrar los cuadrados de los números del 1 al 10
Soluciones if
#Escribe un programa que solicite al usuario su edad y determine si es menor o # igual a 18 años. Si es menor o igual a 18 años, muestra el mensaje # “Eres menor de edad”, de lo contrario, muestra “Eres mayor de edad”. edad=int(input("Introduce tu edad")) if edad>=18: print("Eres mayor de edad") else: print("Eres menor de edad") # 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 un mensaje que indique que los números # son iguales. num1=float(input("Dime el primer número")) num2=float(input("Dime el segundo número")) if num1>num2: print(f"El mayor es {num1}") print("El mayor es", num1) print("El mayor es"+str(num1)) elif num2>num1: print(f"El mayor es {num2}") else: print("Son iguales") # 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”. num=float(input("Dime un número")) if num%2==0: print(f"El numero {num} es par") else: print(f"El numero {num} es impar") # 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”. nota=float(input("Dime tu calificación")) if nota>=60: print(f"Estás aprobado") else: print(f"Estás suspendido") # Un usuario puede entrar a una fiesta si es mayor de 18 años y tiene entrada VIP o es invitado. edad = 20 vip = False invitado = True # Tu condición va aquí: if edad >= 18 and (vip or invitado): print("Acceso permitido") else: print("Acceso denegado") # Un sistema da acceso si el usuario es "admin" y la clave es "1234", # pero no está bloqueado. usuario = "admin" clave = "1234" bloqueado = False # Tu condición: if usuario=="admin" and clave=="1234" and not bloqueado: # bloqueado==False print("Login exitoso") else: print("Acceso denegado") # Un cliente tiene descuento si es mayor de 65 años o si tiene # carnet de estudiante válido y es mayor de 18. edad = 19 tiene_carnet = True # Tu condición: if edad>65 or (tiene_carnet and edad>18): print("Tiene descuento") else: print("No tiene descuento") # Un cliente tiene descuento : # su edad está entre 60 y 80: edad>=60 and edad<=80 # tiene carnet y más de 18 años: tiene_carnet and edad>=18 # no tiene carnet y es menor de 10 años: not tiene_carnet and edad<10 # las tres condiciones estarán unidas con un or edad = 19 tiene_carnet = True # Tu condición: # if edad>=60 and edad<=80 or tiene_carnet and edad>=18 or not tiene_carnet and edad<10: if (edad>=60 and edad<=80) or (tiene_carnet and edad>=18) or (not tiene_carnet and edad<10): print("Tiene descuento") else: print("No tiene descuento") # Un estudiante aprueba si su nota es mayor o igual a 6 y # no está inhabilitado por asistencia. nota = 6.5 asistencia_suficiente = True # Tu condición: if nota>=6 and asistencia_suficiente: print("Aprobado") else: print("Reprobado") # Muestra un mensaje si el usuario no ha aceptado los términos: acepta_terminos = False if not acepta_terminos: print("Debes aceptar los términos para continuar")
Ejercicios if
- Escribe un programa que solicite al usuario su edad y determine si es menor o igual a 18 años. Si es menor o igual a 18 años, muestra el mensaje “Eres menor de edad”, de lo contrario, muestra “Eres mayor de edad”.
- 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 un mensaje que indique que los números son iguales.
- 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”.
- 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”.
🧪 Ejercicio 1: Acceso a una fiesta
Un usuario puede entrar a una fiesta si es mayor de 18 años y tiene entrada VIP o es invitado.
Completa el código para imprimir “Acceso permitido” o “Acceso denegado”:
edad = 20 vip = False invitado = True # Tu condición va aquí: if edad >= 18 and (vip or invitado): print("Acceso permitido") else: print("Acceso denegado")
🧪 Ejercicio 2: Validación de login
Un sistema da acceso si el usuario es
"admin"
y la clave es"1234"
, pero no está bloqueado.usuario = "admin" clave = "1234" bloqueado = False # Tu condición: if : print("Login exitoso") else: print("Acceso denegado")
🧪 Ejercicio 3: Acceso a descuentos
Un cliente tiene descuento si es mayor de 65 años o si tiene carnet de estudiante válido y es mayor de 18.
edad = 19 tiene_carnet = True # Tu condición: if : print("Tiene descuento") else: print("No tiene descuento")
🧪 Ejercicio 4: Evaluación académica
Un estudiante aprueba si su nota es mayor o igual a 6 y no está inhabilitado por asistencia.
nota = 6.5 asistencia_suficiente = True # Tu condición: if : print("Aprobado") else: print("Reprobado")
🧪 Ejercicio 5: Uso del operador
not
Muestra un mensaje si el usuario no ha aceptado los términos:
acepta_terminos = False if : print("Debes aceptar los términos para continuar")
Condiciones if complejas
sueldo = 500 irpf = 15 # Tenemos esta tabla: hasta 2000 10%, hasta 3000 12% hasta 5000 15% resto 25% if sueldo < 2000: irpf = 10 else: if sueldo < 3000: irpf = 12 else: if sueldo < 5000: irpf = 15 else: irpf = 25 print(irpf) # Lo de arriba se puede reescribir usando la estructura elif if sueldo < 2000: irpf = 10 elif sueldo < 3000: irpf = 12 elif sueldo < 5000: irpf = 15 else: irpf = 25 print(irpf) # Sintaxis básica: si se cumple la condición se ejecuta lo que está dentro del if if sueldo < 1000: print("El sueldo no puede ser menos que el SMI") # esto está dentro del if print("Se viene inspección") # esto está fuera del if print(sueldo) # sintaxis con else: si se cumple se ejecuta lo del if y si no, lo del else if sueldo > 3000: print("Sueldazo") else: print("Sueldo común") # sintaxis con elif # cada elif plantea una nueva condición que se evalua, como si fuera un if # pero queda más claro if sueldo < 1000: # Los sueldos menores de 1000 print("Inspeccion") elif sueldo < 2000: # Los menores de 2000 print("Sueldo bajo") elif sueldo < 4000: # De 4000 print("Buen sueldo") else: # Los mayores de 4000 (else del último if) print("Sueldazo") # Las condiciones pueden ser complejas y combinar operadores if sueldo < 1000 or sueldo > 9000: # Aquí combino dos condiciones con un or print("Sueldo incorrecto") # Pueden ser lo complejas que hagan falta if (sueldo < 1000 or sueldo > 9000) and sueldo % 10 == 0: print("Sueldo incorrecto que acaba en cero") # Puedo tener if dentro de otros ifs (ifs anidados) # Puede ser lo complicado que haga falta if sueldo > 5000: if sueldo % 10 == 0: print("Sueldo mayor de 5000 que acaba en 0") else: print("Sueldo mayor de 5000 que NO acaba en 0") else: print("Sueldo menor de 5000") # Veamos un ejemplo de esto # Calcular el precio de envío de un paquete # Tenemos lo siguiente: # Barcelona: 5€ da lo mismo el peso # Girona o Tarragona 5€ si pesa menos de 10 kilos y 10€ si pesa más # Resto de ciudades: hasta 10k 5€, hasta 20k 10€, hasta 30k 15 € resto 30€ ciudad = "Logroño" peso = 12 precio = 0 if ciudad == "Barcelona": precio = 5 else: if ciudad == "Girona" or ciudad == "Tarragona": # calculo los precios if peso < 10: precio = 5 else: precio = 10 else: if peso < 10: precio = 5 elif peso < 20: precio = 10 elif peso < 30: precio = 15 else: precio = 30 print(precio)
elif en python
sueldo = 2500 irpf = 15 # Tenemos esta tabla: hasta 2000 10%, hasta 3000 12% hasta 5000 15% resto 25% if sueldo < 2000: irpf = 10 else: if sueldo < 3000: irpf = 12 else: if sueldo < 5000: irpf = 15 else: irpf = 25 print(irpf) # Lo de arriba se puede reescribir usando la estructura elif if sueldo < 2000: irpf = 10 elif sueldo < 3000: irpf = 12 elif sueldo < 5000: irpf = 15 else: irpf = 25 print(irpf)
Condicionales python
# Estructura de control: Nos permite definir el flujo del programa # if : comprobar una condición y si se cumple se ejecuta un código # y, opcionalmente, si no se cumple, se ejecuta otro edad=int(input("Dime tu edad")) if edad>=18: print("Bienvenido a la web") print("Eres bienvenido/a") print("Disfruta del contenido") else: print("Eres menor de edad") print("Introduce un codigo de autorización si quieres acceder") codigo=input("Dime el codigo") if codigo=="1234": print("Bienvenido") else: print("Código incorrecto") print("Esto está fuera del if y se ejecuta tanto si se cumple la condición como si no") # Comparaciones # >, >=, <, <= , ==, != # La igualdad se utilizan dos signos = if edad==18: print("Bienvenido a la mayoría de edad") # Para diferente exclamación e igual != if edad!=18: print("No tienes 18 años") # Recordad que vimos los operadores booleanos # and, or, not if edad>=18 and edad<=25: print("Tienes descuento de carnet joven (entre 18 y 25)") if edad<18 or edad>65: print("Tienes descuento de niño o jubilado (menor de 18 o mayor de 65") # recordad la precedencia de los operadores, el and va primero if edad<18 or edad>20 and edad<30: print("Esto se cumple si la edad es menor de 18") print("O la edad está entre 20 y 30") # Recordad que si dudamos podemos usar paréntesis, que son gratis: if edad<18 or (edad>20 and edad<30): print("Esto se cumple si la edad es menor de 18") print("O la edad está entre 20 y 30") if not edad>=18: print("Eres menor") if edad<18: print("Es lo mismo") # Mini ejercicio planteado # Vamos a hacer un if que nos de un descuento si la edad es 40 o 50
Ejemplos operadores
precio=80 personas=7 print(precio/personas) print(precio//personas) print(2**4) # Modulo % Resto de la división print(17%5) # ¿Cómo saber si un número es par o impar? # Si el módulo 2 es 0, es par # si el módulo 2 es 1, es impar print(8%2) # 0, es par print(81%2) # 1, es impar numero=9 print(numero%2) print(numero%3) giro=850 print(giro%360)
Conversiones
texto = "123" numero = int(texto) print(numero + 10) # 133 texto = "12.3" numero = float(texto) print(numero + 10) # 22.3 edad = 30 print("Tienes " + str(edad) + " años") # Tienes 30 años # Esto da un error porque son tipos diferentes # print("Tienes " + (edad) + " años") # Tienes 30 años print(bool(0)) # False print(bool(1)) # True print(bool(125)) # True print(bool("")) # False print(bool("hola")) # True
Imprimir en python
print("hola") edad=20 print(edad) print("hola",edad) print("tu edad es ",edad) # La f lo que quiere decie es 'cadena formateada' # Nos permite poner valores entre llaves print(f"Tu edad es {edad} enhorabuena") print("Tu edad es",edad,"enhorabuena") print(f"Dentro de 10 años tendrás {float(edad)+10}") # La barra (slash) se llama carácter de escape # El caracter siguiente es especial # \" es una comilla print("Se llama \"wifi\" y es un medio de conexión") # \n es un salto de línea print("Se llama \n y es un medio de conexión") # \t es un tabulador print("Se llama \ty es un medio de conexión") # \\ es un barra print("para imprimir barra \\ ") # opciones del print print("hola",edad,"pepe",14) # especifico cual quiero que sea el separador print("hola",edad,"pepe",14, sep=" -- ") # especificar el final de línea print("hola") print("juan") print("hola", end=", ") print("juan") with open("salida.txt", "w") as f: print("Esto va al archivo", file=f) print("Esto también", file=f)