Saltar a contenido

Ejercicios « Controlando el flujo

Ejercicio 1

Realiza un programa que lea dos números por teclado y permita elegir entre 3 opciones en un menú:

  • Mostrar una suma de los dos números
  • Mostrar una resta de los dos números (el primero menos el segundo)
  • Mostrar una multiplicación de los dos números

En caso de introducir una opción inválida, el programa informará de que no es correcta.

Note

n1 = float(input("Introduce un número: ") )
n2 = float(input("Introduce otro número: ") )
opcion = 0

print("""
¿Qué quieres hacer?
1) Sumar los dos números
2) Restar los dos números
3) Multiplicar los dos números
""")

opcion = int(input("Introduce un número: ") )     

if opcion == 1:
    print("La suma de",n1,"+",n2,"es",n1+n2)
elif opcion == 2:
    print("La resta de",n1,"-",n2,"es",n1-n2)
elif opcion == 3:
    print("El producto de",n1,"*",n2,"es",n1*n2)
else:
    print("Opción incorrecta")
Introduce un número: 5
Introduce otro número: 5

¿Qué quieres hacer? 
1) Sumar los dos números
2) Restar los dos números
3) Multiplicar los dos números
Introduce un número: 3

El producto de 5.0 * 5.0 es 25.0

Ejercicio 2

Realiza un programa que lea un número impar por teclado. Si el usuario no introduce un número impar, debe repetise el proceso hasta que lo introduzca correctamente.

Note

numero = 0
while numero % 2 == 0:  # Mientras sea par repetimos el proceso
    numero = int(input("Introduce un número impar: ") )
Introduce un número impar: 4
Introduce un número impar: 2
Introduce un número impar: 3

Ejercicio 3

Realiza un programa que sume todos los números enteros pares desde el 0 hasta el 100.

Sugerencia

Puedes utilizar la funciones sum() y range() para hacerlo más fácil.
El tercer parámetro en la función range(inicio, fin, salto) indica un salto de números, pruébalo.

Note

# Primera forma con función sum()
suma = sum( range(0, 101, 2) )
print(suma)

# Segunda forma con bucles
num = 0
suma = 0

while num <= 100:
    if num % 2 == 0:
        suma += num
    num += 1

print(suma)
2550
2550

Ejercicio 4

Realiza un programa que pida al usuario cuantos números quiere introducir. Luego lee todos los números y realiza una media aritmética.

Note

suma = 0
numeros = int(input("¿Cuántos números quieres introducir? ") )
for x in range(numeros):
    suma += float(input("Introduce un número: ") )
print("Se han introducido", numeros, "números que en total han sumado", 
        suma, "y la media es", suma/numeros)
¿Cuántos numeros quieres introducir? 4
Introduce un número: 3
Introduce un número: 2
Introduce un número: 4
Introduce un número: 6
Se han introducido 4 números que en total han sumado 15.0 y la media es 3.75

Ejercicio 5

Realiza un programa que pida al usuario un número entero del 0 al 9, y que mientras el número no sea correcto se repita el proceso. Luego debe comprobar si el número se encuentra en la lista de números y notificarlo:

Concepto útil

La sintaxis [valor] in [lista] permite comprobar si un valor se encuentra en una lista (devuelve True o False).

Note

numeros = [1, 3, 6, 9]

# Completa el ejercicio aquí
numeros = [1, 3, 6, 9]

# Completa el ejercicio aquí
while True:
    numero = int(input("Escribe un número del 0 al 9: "))
    if numero >= 0 and numero <= 9:
        break
if numero in numeros:
    print("El número", numero, "se encuentra en la lista", numeros)
else:
    print("El número", numero, "no se encuentra en la lista", numeros)
Escribe un número del 0 al 9: 3
El número 3 se encuentra en la lista [1, 3, 6, 9]

Ejercicio 6

Utilizando la función range() y la conversión a listas genera las siguientes listas dinámicamente:

  • Todos los números del 0 al 10 [0, 1, 2, ..., 10]
  • Todos los números del -10 al 0 [-10, -9, -8, ..., 0]
  • Todos los números pares del 0 al 20 [0, 2, 4, ..., 20]
  • Todos los números impares entre -20 y 0 [-19, -17, -15, ..., -1]
  • Todos los números múltiples de 5 del 0 al 50 [0, 5, 10, ..., 50]

Concepto útil

Se pueden generar saltos en el range() estableciendo su tercer parámetro range(inicio, fin, salto), experimenta.

Note

print(list(range(0, 11)))
print(list(range(-10, 1)))
print(list(range(0, 21, 2)))
print(list(range(-19, 0, 2)))
print(list(range(0, 51, 5)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[-19, -17, -15, -13, -11, -9, -7, -5, -3, -1]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

Ejercicio 7

Dadas dos listas, debes generar una tercera con todos los elementos que se repitan en ellas, pero no debe repetirse ningún elemento en la nueva lista:

Note

lista_1 = ["h",'o','l','a',' ', 'm','u','n','d','o']
lista_2 = ["h",'o','l','a',' ', 'l','u','n','a']

# Completa el ejercicio aquí
lista_1 = ["h",'o','l','a',' ', 'm','u','n','d','o']
lista_2 = ["h",'o','l','a',' ', 'l','u','n','a']

# Completa el ejercicio aquí

lista_3 = []
for letra in lista_1:
    if letra in lista_2 and letra not in lista_3:
        lista_3.append(letra)

print(lista_3)
['h', 'o', 'l', 'a', ' ', 'u', 'n']

Última edición: 22 de Septiembre de 2018