#!/usr/bin/env python
# coding: utf-8

# # Tema 03: Control de flujo (Enunciados)
# *Nota: Estos ejercicios son optativos para hacer al final de la unidad y están pensados para apoyar tu aprendizaje*.

# **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 no introducir una opción válida, el programa informará de que no es correcta.

# In[2]:


# Completa el ejercicio aquí
print("Bienvenido al menu, ¿Que quieres hacer?")
print("""1) Mostrar una suma de los dos números
2) Mostrar una resta de los dos números
3) Mostrar una multiplicación de los dos números""")
opcion = input()
if opcion == "1":
    num1 = float(input("Introduce el primer número: "))
    num2 = float(input("Introduce el segundo número: "))
    print("La suma de los dos números es: ", num1+num2)
elif opcion == "2":
    num1 = float(input("Introduce el primer número: "))
    num2 = float(input("Introduce el segundo número: "))
    print("La resta de los dos números es: ", num1-num2)
elif opcion == "3":
    num1 = float(input("Introduce el primer número: "))
    num2 = float(input("Introduce el segundo número: "))
    print("La multiplicación de los dos números es de", num1*num2)
else:
    print("Opción no valida, debes escoger entre las opciones del menú")


# **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.**

# In[1]:


# Completa el ejercicio aquí
numero = float((input("Introduce un numero impar: ")))
while numero % 2 == 0:
    print("El numero", numero, "no es un numero impar, vuelve a intentarlo")
    numero = float((input("Introduce un numero impar: ")))
if numero != int(numero):
    print("El numero es un decimal y los decimales no son pares ni impares")
else:
    print("El número", numero, "es un número impar felicidades")


# **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.*

# In[2]:


num = 0
sum = 0

while num <= 100:
    if num % 2 == 0:
        sum += num
    num += 1
    
print(sum)


# **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:**
# 

# In[6]:


# Completa el ejercicio aquí
print("Bienvenido al programa")
repeticiones_usuario = int(input("¿Cuantos números quieres introducir?: "))
suma = 0
for r in range(repeticiones_usuario):
    suma += float(input("Introduce un número: "))
print("Se han introducido", repeticiones_usuario, "números y la media es de", suma/repeticiones_usuario)


# **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:**
# 
# *Consejo: La sintaxis "valor in lista" permite comprobar fácilmente si un valor se encuentra en una lista (devuelve True o False)*

# In[5]:


# Completa el ejercicio aquí
numeros = [1,3,6,9]
numero_usuario = int(input("Introduce un número entero del 0 al 9: "))

while numero_usuario >= 9 or numero_usuario < 0:
    print("El número", numero_usuario, "no es un número entre 0 y 9 vuelve a intentarlo")
    numero_usuario = int(input("Introduce un número entero del 0 al 9: "))
if numero_usuario in numeros:
    print("El número", numero_usuario, "se encuentra en la lista")
else:
    print("El número", numero_usuario, "no se encuentra en la lista")


# **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]
# 
# *Pista: Utiliza el tercer parámetro de la función range(inicio, fin, salto).*

# In[26]:


# Completa el ejercicio
print(list(range(0,11)))
print(list(range(-10,1)))
print(list(range(0,21,2)))
print(list(range(-19,1,2)))
print(list(range(0,51,5)))


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

# In[32]:


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


# In[ ]:




