<repo_name>IsaacYAGI/python-ejercicios<file_sep>/tema6-condicionales/ejercicios-propuestos/ejercicio_propuestos3_tema6.py
##Se ingresa por teclado un número positivo de uno o dos dígitos (1..99)
##mostrar un mensaje indicando si el número tiene uno o dos dígitos.
##(Tener en cuenta que condición debe cumplirse para tener dos dígitos
##un número entero)

num = int(input("Ingrese un numero entero de uno o dos digitos: "))

if (num < 10):
    print("El numero ",num," tiene un digito")
else:
    print("El numero ",num," tiene dos digitos")

<file_sep>/tema5-programacion-secuencial/ejercicio3.py
##Leer por teclado dos numeros y calcular la suma y multiplicacion de los mismos.
##Mostrar los resultados por pantalla

num1 = int(input("Ingrese numero 1: "))
num2 = int(input("Ingrese numero 2: "))

print ("La suma de los numeros es: ",num1+num2)
print ("El producto de los numeros es: ",num1*num2)
<file_sep>/tema7-condicionales-anidados/ejercicios-propuestos/ejercicio_propuestos4_tema7.py
'''
Un postulante a un empleo, realiza un test de capacitación, se obtuvo la siguiente información: cantidad total de preguntas que se le realizaron y la 
cantidad de preguntas que contestó correctamente. Se pide confeccionar un programa que ingrese los dos datos por teclado e informe el nivel del mismo 
según el porcentaje de respuestas correctas que ha obtenido, y sabiendo que:
	Nivel máximo:	Porcentaje>=90%.
	Nivel medio:	Porcentaje>=75% y <90%.
	Nivel regular:	Porcentaje>=50% y <75%.
	Fuera de nivel:	Porcentaje<50%.
'''

cant_preguntas = int(input("Ingrese la cantidad total de preguntas: "))

cant_correctas = int(input("Ingrese la cantidad total de preguntas respondidas correctamente: "))

porcentaje = cant_correctas*100/cant_preguntas

if porcentaje < 50:
    print("Fuera de nivel")
else:
    if porcentaje < 75:
        print("Nivel regular")
    else:
        if porcentaje < 90:
            print("Nivel medio")
        else:
            print("Nivel maximo")
<file_sep>/tema7-condicionales-anidados/ejercicios-propuestos/ejercicio_propuestos2_tema7.py
##Se ingresa por teclado un valor entero,
#mostrar una leyenda que indique si el número es positivo,
#negativo o nulo (es decir cero)

num = int(input("Ingrese el numero: "))

if num > 0:
    print("El numero es positivo")
else:
    if num < 0:
        print("El numero es negativo")
    else:
        print("El numero es nulo")
<file_sep>/tema7-condicionales-anidados/ejercicios-propuestos/ejercicio_propuestos1_tema7.py
#Se cargan por teclado tres números distintos.
#Mostrar por pantalla el mayor de ellos.

num1 = int(input("Ingrese el num 1: "))
num2 = int(input("Ingrese el num 2: "))
num3 = int(input("Ingrese el num 3: "))

mayor = 0

if num1 > mayor:
    mayor = num1

if num2 > mayor:
    mayor = num2

if num3 > mayor:
    mayor = num3

print("El numero mayor de los tres numeros ingresados es: ",mayor)
<file_sep>/README.md
# Ejercicios de Python

Este repositorio tiene ejercicios básicos realizados en el lenguaje Python con el fin único de practicar.

Los ejercicios realizados son obtenidos del sitio [Tutoriales de programacion Ya](https://www.tutorialesprogramacionya.com/pythonya/index.php?inicio=0).

## Instalación

Para realizar los ejercicios se utilizó la version **3.6.2** de Python que se puede descargar desde la [página oficial](https://www.python.org/downloads/).<file_sep>/tema5-programacion-secuencial/ejercicios-propuestos/ejercicio_propuestos1_tema5.py
##Realizar la carga del lado de un cuadrado, mostrar por pantalla el perímetro
##del mismo (El perímetro de un cuadrado se calcula multiplicando el valor
##del lado por cuatro)

lado_cuad = int(input("Ingrese la medida del lado del cuadrado: "))
print("El perimetro del cuadrado es: ", lado_cuad*4)
<file_sep>/tema5-programacion-secuencial/ejercicio4.py
##Realizar la carga del precio de un producto y la cantidad a llevar.
##Mostrar cuanto se debe pagar (se ingresa un valor entero en el precio del producto)

cant_prod = int(input("Ingrese la cantidad del producto: "))
precio_prod = int(input("Ingrese el precio del producto: "))

print("La cantidad a pagar por ",cant_prod, " producto(s) a un precio de ",precio_prod," es de ", cant_prod*precio_prod)
<file_sep>/tema6-condicionales/ejercicio10.py
##Realizar un programa que solicite ingresar
##dos números distintos y muestre por pantalla el mayor de ellos.

num1 = int(input("Ingrese el numero 1: "))
num2 = int(input("Ingrese el numero 2: "))

print("Los numero ingresados fueron: num1: ", num1," y num2 es: ",num2)

if num1>num2:
    print("El numero mayor es: ",num1)
else:
    print("El numero mayor es: ",num2)
<file_sep>/tema39-biblioteca-estandar-python/ejercicios-propuestos/ejercicio_propuestos2_tema39.py
'''
Confeccionar una programa con las siguientes funciones:
1) Generar una lista con 5 elementos enteros aleatorios comprendidos entre 1 y 3.
2) Controlar que el primer elemento de la lista sea un 1, en el caso que haya un 2 o 3 mezclar la lista y volver a controlar hasta que haya un 1. 
3) Imprimir la lista.
'''

import random


def llenar_arreglo(li):
    for i in range(5):
        li.append(random.randint(1,3))

def arreglo_tiene_uno(li):
    for i in range (len(li)):
        if (li[i] == 1):
            return True
    return False

def arreglo_tiene_uno_primero(li):
    return li[0] == 1

def vaciar_arreglo(li):
    del(li[0:])

def mezclar(li):
    random.shuffle(li)

lista = []

array_valido = False

while not array_valido:
    llenar_arreglo(lista)
    print("La lista generada es: ",lista)
    if (arreglo_tiene_uno(lista)):
        if (arreglo_tiene_uno_primero(lista)):
            print("Lista validada, lista: ",lista)
            array_valido = True
        else:
            while (not arreglo_tiene_uno_primero(lista)):
                print("La lista ",lista," no tiene 1 primero.")
                mezclar(lista)
            print("Lista validada, lista: ",lista)
            array_valido = True
    else:
        vaciar_arreglo(lista)
        print("Vaciando lista")
        
<file_sep>/tema7-condicionales-anidados/ejercicios-propuestos/ejercicio_propuestos3_tema7.py
#Confeccionar un programa que permita cargar un número entero positivo
#de hasta tres cifras y muestre un mensaje indicando si tiene 1, 2, o 3 cifras.
#Mostrar un mensaje de error si el número de cifras es mayor.

num = int(input("Ingrese el numero: "))

if num < 10:
    print("El numero tiene una cifra")
else:
    if num < 100:
        print("El numero tiene dos cifras")
    else:
        if num < 1000:
            print("El numero tiene tres cifras")
        else:
            print("Error, el numero tiene mas de tres cifras")
<file_sep>/tema2-hola-mundo/ejercicio1.py
##Escribir hola mundo por pantalla

print ("Hola mundo");
<file_sep>/tema13-procesamiento-cadenas/ejercicios-propuestos/ejercicio_propuestos3_tema13.py
'''
Solicitar el ingreso de una clave por teclado y almacenarla en una cadena
de caracteres. Controlar que el string ingresado tenga entre 10 y 20
caracteres para que sea válido, en caso contrario mostrar un mensaje de error.
'''

correcto = False

while not correcto:
    password = input("Ingrese contraseña: ")

    if len(password) < 10 or len(password) > 20:
        print("Error, la contraseña debe tener minimo 10 caracteres y un maximo de 20 caracteres")
    else:
        correcto = True

print("Contraseña ",password," aceptada.")
        
<file_sep>/tema9-ciclo-while/ejercicios-propuestos/ejercicio_propuestos1_tema9.py
'''
Escribir un programa que solicite ingresar 10 notas de alumnos y nos informe
cuántos tienen notas mayores o iguales a 7 y cuántos menores.
'''

notas_mayores = 0
notas_menores = 0
i = 1

while i <=10:
   # nota_act = float(input("Ingrese nota "+str(i)+": "))
    nota_act = float(input(f"Ingrese nota {i}: "))
    if nota_act >= 7:
        notas_mayores += 1
    else:
        notas_menores += 1

    i += 1

print("La cantidad de estudiantes con notas mayores a 7 es de: ",notas_mayores)
print("La cantidad de estudiantes con notas menores a 7 es de: ",notas_menores)
<file_sep>/tema3-calculo-superficie-cuadrado/ejercicio2.py
##Calculo de la superficie de un cuadrado conociendo uno de sus lados

##lado = input("Ingrese la medida del lado del cuadrado: ")
##lado = int(lado)
lado = int(input("Ingrese la medida del lado del cuadrado: "))
superficie = lado * lado
print("La superficie del cuadrado es ")
print (superficie)
<file_sep>/tema6-condicionales/ejercicios-propuestos/ejercicio_propuestos2_tema6.py
##Se ingresan tres notas de un alumno, si el promedio es mayor o igual a siete
##mostrar un mensaje "Promocionado".

nota1 = int(input("Ingrese la nota 1: "))
nota2 = int(input("Ingrese la nota 2: "))
nota3 = int(input("Ingrese la nota 3: "))

if (((nota1+nota2+nota3)/3) >= 7):
    print("Promocionado!")
<file_sep>/tema6-condicionales/ejercicios-propuestos/ejercicio_propuestos1_tema6.py
##Realizar un programa que solicite la carga por teclado de dos números,
##si el primero es mayor al segundo informar su suma y diferencia,
##en caso contrario informar el producto y la división
##del primero respecto al segundo.

num1 = int(input("Ingrese el numero 1: "))
num2 = int(input("Ingrese el numero 2: "))

if (num1 > num2):
    print("La suma de ",num1," y ",num2," es de ", num1+num2)
    print("La diferencia de ",num1," y ",num2," es de ", num1-num2)
else:
    print("El producto de ",num1," y ",num2," es de ", num1*num2)
    print("La division de ",num1," y ",num2," es de ", num1/num2)
<file_sep>/tema13-procesamiento-cadenas/ejercicios-propuestos/ejercicio_propuestos1_tema13.py
'''
Cargar una oración por teclado. Mostrar luego cuantos espacios en blanco se
ingresaron. Tener en cuenta que un espacio en blanco es igual a " ",
en cambio una cadena vacía es ""
'''

cadena = input("Ingrese una oracion: ")

long_cad = len(cadena)

espaces = 0

for i in range(0,long_cad):
    if (cadena[i] == " "):
        espaces += 1
    
print("La oracion ingresada es: ",cadena)
print("La cantidad de espacios en blanco es: ",espaces)
<file_sep>/tema13-procesamiento-cadenas/ejercicios-propuestos/ejercicio_propuestos2_tema13.py
'''
Ingresar una oración que pueden tener letras tanto en mayúsculas como
minúsculas. Contar la cantidad de vocales.
Crear un segundo string con toda la oración en minúsculas para que
sea más fácil disponer la condición que verifica que es una vocal.
'''

cadena = input("Ingrese una oracion: ")

cadena_min = cadena.lower()

vocales = "aeiou"

long_cad = len(cadena)

cant_voc = 0

for i in range(0,long_cad):
    #Buscamos si el caracter actual esta en la cadena de vocales
    if cadena_min[i] in vocales:
        #De existir, se suma uno al contador
        cant_voc += 1

print("La oracion ingresada es: ",cadena)
print("La cantidad de vocales: ",cant_voc)
<file_sep>/tema5-programacion-secuencial/ejercicios-propuestos/ejercicio_propuestos4_tema5.py
##Calcular el sueldo mensual de un operario conociendo la cantidad de horas
##trabajadas y el valor por hora.

CANT_DIAS = 30
cant_horas = int(input("Ingrese la cantidad de horas trabajadas: "))
sueldo = float(input("Ingrese el sueldo por hora del trabajador: "))

print("El sueldo mensual del trabajador es: ",cant_horas*sueldo*CANT_DIAS)
<file_sep>/tema39-biblioteca-estandar-python/ejercicios-propuestos/ejercicio_propuestos1_tema39.py
'''
Confeccionar un programa que genere un número aleatorio entre 1 y 100 y no se muestre.
El operador debe tratar de adivinar el número ingresado.
Cada vez que ingrese un número mostrar un mensaje "Gano" si es igual al generado o "El número aleatorio el mayor" o "El número aleatorio es menor".
Mostrar cuando gana el jugador cuantos intentos necesitó.
'''
import random

def generar_numero_aleatorio():
    return random.randint(1,100)

def es_el_numero(resp_usuario,resp_correc):
    return resp_usuario == resp_correc

def numero_dado_es_mayor(resp_usuario,resp_correc):
    return resp_usuario > resp_correc

def juego_terminado(numero_correcto,numero_intentos):
    print("El juego ha terminado!")
    print("El numero correcto era",numero_correcto,"y lo resolviste en",numero_intentos,"intentos.",sep=" ")

def el_numero_es_mayor():
    print("El numero que diste es mayor al correcto, intenta de nuevo!")


def el_numero_es_menor():
    print("El numero que diste es menor al correcto, intenta de nuevo!")

def iniciar_juego():
    gano = False
    
    intentos = 1

    numero = 0

    respuesta_correc = generar_numero_aleatorio()
    
    while (not gano):
        numero = int(input("Ingresa un numero: "))
        if (es_el_numero(numero,respuesta_correc)):
            juego_terminado(respuesta_correc,intentos)
            gano = True
        else:
            if (numero_dado_es_mayor(numero,respuesta_correc)):
                el_numero_es_mayor()
            else:
                el_numero_es_menor()
            
            intentos += 1




iniciar_juego()


<file_sep>/tema9-ciclo-while/ejercicios-propuestos/ejercicio_propuestos2_tema9.py
'''
En una empresa trabajan n empleados cuyos sueldos oscilan entre $100 y $500,
realizar un programa que lea los sueldos que cobra cada empleado e informe
cuántos empleados cobran entre $100 y $300 y cuántos cobran más de $300.
Además el programa deberá informar el importe que gasta la empresa en sueldos
al personal.
'''

cant_empl = int(input("Ingrese la cantidad de empleados: "))

importe_total = 0
i = 1
cant_may_300 = 0

while i <= cant_empl:
    sueldo = float(input(f"Ingrese sueldo de trabajador #{i}: "))
    if (sueldo > 300):
        cant_may_300 += 1
        
    importe_total += sueldo
    i += 1

print("La cantidad de empleados que ganan mas de 300$ es de: ",cant_may_300)
print("La cantidad de empleados que ganan menos de 300$ es de: ",cant_empl - cant_may_300)
print("El importe total de la empresa es: ",importe_total)
<file_sep>/tema5-programacion-secuencial/ejercicios-propuestos/ejercicio_propuestos2_tema5.py
##Escribir un programa en el cual se ingresen cuatro números, calcular e
##informar la suma de los dos primeros y el producto del tercero y el cuarto.

num1 = int(input("Ingrese el numero 1: "))
num2 = int(input("Ingrese el numero 2: "))
num3 = int(input("Ingrese el numero 3: "))
num4 = int(input("Ingrese el numero 4: "))

print("La suma de ",num1," y ",num2," es: ", num1+num2)
print("El producto de ",num3," y ",num4," es: ", num3*num4)
<file_sep>/tema9-ciclo-while/ejercicio28.py
#Mostrar los numeros del 1 al 100

x = 1

while (x <= 100):
    print(x)
    x += 1
<file_sep>/tema8-condicionales-operadores-logicos/ejercicios-propuestos/ejercicio_propuestos6_tema8.py
'''
De un operario se conoce su sueldo y los años de antigüedad. Se pide
confeccionar un programa que lea los datos de entrada e informe:
a) Si el sueldo es inferior a 500 y su antigüedad es igual o superior a 10 años, otorgarle un aumento del 20 %, mostrar el sueldo a pagar.
b)Si el sueldo es inferior a 500 pero su antigüedad es menor a 10 años, otorgarle un aumento de 5 %.
c) Si el sueldo es mayor o igual a 500 mostrar el sueldo en pantalla sin cambios.
'''

sueldo_oper = float(input("Ingrese el sueldo del operario: "))

anios_trab = int(input("Ingrese los anios de servicio del operario: "))

if sueldo_oper < 500 and anios_trab >= 10:
    print("Se aumenta el 20% del sueldo.")
    print("El nuevo sueldo es: ",sueldo_oper*0.20+sueldo_oper)
else:
    if sueldo_oper < 500 and anios_trab < 10:
        print("Se aumenta el 5% del sueldo.")
        print("El nuevo sueldo es: ",sueldo_oper*0.05+sueldo_oper)
    else:
        if sueldo_oper > 500:
            print("El sueldo se mantiene sin cambios")
            print("El sueldo actual es: ",sueldo_oper)
<file_sep>/tema5-programacion-secuencial/ejercicios-propuestos/ejercicio_propuestos3_tema5.py
##Realizar un programa que lea cuatro valores numéricos e informar su suma
##y promedio.

num1 = float(input("Ingrese el numero 1: "))
num2 = float(input("Ingrese el numero 2: "))
num3 = float(input("Ingrese el numero 3: "))
num4 = float(input("Ingrese el numero 4: "))

suma = num1+num2+num3+num4;

print("La suma de los numeros ingresados es: ",suma)
print("El promedio de los numeros ingresados es: ",suma/4)
<file_sep>/tema6-condicionales/ejercicio9.py
##Ingresar el sueldo de una persona, si supera los 3000 dolares mostrar un
##mensaje en pantalla indicando que debe abonar impuestos.

sueldo = int(input("Ingrese cual es su sueldo: "))

if sueldo > 3000:
    print("Esta persona debe pagar impuestos")
<file_sep>/tema10-ciclo-for/ejercicios-propuestos/ejercicio_propuestos3_tema10.py
'''
Desarrollar un programa que muestre la tabla de multiplicar del 5 (del 5 al 50)
'''

for i in range(5,51):
    print("5 x ",i," = ",5*i)
    
<file_sep>/tema12-variables-int-float-cadenas/ejercicios-propuestos/ejercicio_propuestos1_tema12.py
'''
Realizar la carga de dos nombres de personas distintos.
Mostrar por pantalla luego ordenados en forma alfabética.
'''

nombre1 = input("Ingrese el primer nombre: ")

nombre2 = input("Ingrese el segundo nombre: ")

if nombre1 > nombre2:
    print("El orden es: ",nombre2,", ",nombre1)
else:
    print("El orden es: ",nombre1,", ",nombre2)
<file_sep>/tema7-condicionales-anidados/ejercicio14.py
#Confeccionar un programa que pida por teclado tres notas de un alumno,
#calcule el promedio e imprima alguno de estos mensajes:
#Si el promedio es >=7 mostrar "Promocionado".
#Si el promedio es >=4 y <7 mostrar "Regular".
#Si el promedio es <4 mostrar "Reprobado".


nota1 = int(input("Ingrese la nota 1: "))
nota2 = int(input("Ingrese la nota 2: "))
nota3 = int(input("Ingrese la nota 3: "))

promedio = (nota1+nota2+nota3)/3

if promedio >= 7:
    print("Promocionado")
else:
    if promedio >= 4 and promedio < 7:
        print("Regular")
    else:
        print("Reprobado")
