viernes, 18 de septiembre de 2015

¿CÓMO CALCULAR ÁREAS DE FIGURAS GEOMÉTRICAS EN PYTHON?

Hola a todos.
Bienvenidos y muchas gracias por visitar el Blog, este espacio está construído para todo aquel que quiera incursionar al mundo de la programación en el lenguaje PYTHON y más adelante convertir todos estos ejercicio a JAVA. Si el material consultado ha sido de tu interés y ha ayudado a tu trabajo o actividad, ayudame a seguir creciendo el blog con ejercicios interesantes.


También puedes suscribirte a mi canal de Youtube: youtube.com/c/SneyderRamírez se mostrará el funcionamiento de los códigos.

NOTA: Antes de que utilices los códigos, verifica la versión PYTHON que vayas a utilizar, para no presentar problemas de compatibilidad.

 EJERCICIO: CÁLCULO DE ÁREAS  DE FIGURAS GEOMÉTRICAS EN PYTHON.


Saludos, en este ejercicio traigo 2 módulos para el cálculo de figuras geométricas para:

1.Cuadrado.
2.Circulo.
3.Triángulo.
4.Trapecio.
5.Rectángulo.
6.Elipse.

NOTA: Los códigos a continuación fueron hechos en la versión Python 3.4.3


Un módulo será usado para realizar las operaciones para calcular el área de la figura geométrica(areas.py). Otro módulo para mostrar el menú de lo que hará nuestro script que mostrará lo siguiente:


1. MÓDULO ÁREAS (areas.py): En el que vamos a  encontrar todas las operaciones para cada figura geométrica.

areas.py

import math


def area_cuadrado(L):
    
    area=L**2
    return  print('el area del cuadrado es: ', area)


def area_circulo(R):
    
    area=math.pi*R**2
    return print('el area del circulo es %.3f ' % area)

def area_triangulo(b,h):

    area=b*h/2
    return print('El area del triángulo es: ', area)

def area_trapecio(B,b,h):

    area=(B+b)*h/2
    return print('El area del Trapecio es: ', area)

def area_rectangulo(b,h):

    area=b*h
    return print('El area del Rectángulo es: ', area)

def area_elipse(a,b):

    area=a*b*math.pi
    return print('El area de la elipse es %.3f ' % area)


2. MÓDULO CÁLCULO DE ÁREAS (calculo.py): Este módulo contiene las opciones del 1 al 6 para escoger el área que se quiera calcular según la figura escogida.

calculo.py

import areas

print("Calcular Áreas de figuras Geométricas.\n")
print("1.Cuadrado.\n2.Circulo.\n3.Triángulo.\n4.Trapecio.\n5.Rectángulo.\n6.Elipse.\n")

x=int(input("Escoja la figura: "))

if x==1:
    L=int(input('Ingrese el lado: '))
    areas.area_cuadrado(L)
    
if x==2:

    R=int(input('Ingrese el radio del circulo: '))
    areas.area_circulo(R)
    
if x==3:
    
    b=int(input('Ingrese la base: '))
    h=int(input('Ingrese la altura: '))
    areas.area_triangulo(b,h)
   
if x==4:
    
    B=int(input('Ingrese la base 1:'))
    b=int(input('Ingrese la base 2: '))
    h=int(input('Ingrese la altura: '))
    areas.area_trapecio(B,b,h)
    
if x==5:
    
    b=int(input('Ingrese la base: '))
    h=int(input('Ingrese la altura: '))
    areas.area_rectangulo(b,h)
    
if x==6:
    
    a=int(input('Ingrese el eje menor: '))
    b=int(input('Ingrese el eje mayor: '))
    areas.area_elipse(a,b)





Acá dejo un video del código en funcionamiento.



Hay muchos métodos para realizar este ejercicio, este fue el mio, espero sea claro y si queda alguno con dudas en este desarrollo con gusto las responderé O si tienes otra forma de hacerlo y la quieres compartir se recibe con gusto.
Recuerden: "La mayoría de los buenos programadores programan, no porque esperan que se les pague o por adulación por parte del público, sino porque es divertido programar."
- Linus Torvalds 

Éxitos!!!

VALIDAR USUARIO Y CONTRASEÑA EN PYTHON

Hola a todos.

Bienvenidos y muchas gracias por visitar el Blog, este espacio está construído para todo aquel que quiera incursionar al mundo de la programación en el lenguaje PYTHON y más adelante convertir todos estos ejercicio a JAVA. Si el material consultado ha sido de tu interés y ha ayudado a tu trabajo o actividad, ayudame a seguir creciendo el blog con ejercicios interesantes.


También puedes suscribirte a mi canal de Youtube: youtube.com/c/SneyderRamírez se mostrará el funcionamiento de los códigos.

NOTA: Antes de que utilices los códigos, verifica la versión PYTHON que vayas a utilizar, para no presentar problemas de compatibilidad.



EJERCICIO: VALIDAR USUARIO Y CONTRASEÑA EN PYTHON.


He encontrado un ejercicio que me ha llamado la atención en esta incursión que he hecho para este lenguaje de programación, y lo he obtenido del siguiente enlace:


El ejercicio consta de la creación de 3 módulos a los que llamé: usuario.py,  passw.py,
validador.py 

Lee todo el desarrollo del ejercicio y después descarga los 3 códigos: 
usuario.py  
passw.py  
validador.py

Adicionalmente puedes revisar otras soluciones de este ejercicio, en este mismo blog:
 2da forma: CLASES
3ra forma: Python-PyQT 
4 forma:  Recursividad ( Muy pronto)

1. MÓDULO USUARIO.(usuario)

Crear un módulo para validación de nombres de usuarios. Dicho módulo, deberá cumplir con los siguientes criterios de aceptación:
1.1 El nombre de usuario debe contener un mínimo de 6 caracteres y un máximo de 12.
1.2 El nombre de usuario debe ser alfanumérico.
1.3 Nombre de usuario con menos de 6 caracteres, retorna el mensaje "El nombre de usuario debe       contener al menos 6 caracteres".
1.4 Nombre de usuario con más de 12 caracteres, retorna el mensaje "El nombre de usuario no puede contener más de 12 caracteres".
1.5 Nombre de usuario con caracteres distintos a los alfanuméricos, retorna el mensaje "El nombre de usuario puede contener solo letras y números".
1.6 Nombre de usuario válido, retorna True.

Solución Módulo usuario.
usuario.py
def nickname(nombre_usuario):

        long=len(nombre_usuario) #Calcular la longitud del nomre de usuario
        y=nombre_usuario.isalnum() #Calcula que la cadena contenga valores alfanuméricos
        
        if y== False: # La cadena contiene valores no alfanuméricos
            print("El nombre de usuario puede contener solo letras y números")
            
        if long < 6: 
            print("El nombre de usuario debe contener al menos 6 caracteres")
            
        if long > 12: 
            print("El nombre de usuario no puede contener más de 12 caracteres")
            
        if long >5 and long <13 and y ==True:
            return True #Verdadero si el tamaño es mayor a 5 y menor a 13


2. MÓDULO PASSWORD.(passw)
Crear un módulo para validación de contraseñas. Dicho módulo, deberá cumplir con los siguientes criterios de aceptación:
2.1 La contraseña debe contener un mínimo de 8 caracteres.
2.2 Una contraseña debe contener letras minúsculas, mayúsculas, números y al menos 1 carácter no alfanumérico.
2.3 La contraseña no puede contener espacios en blanco.
2.4 Contraseña válida, retorna True.
2.5 Contraseña no válida, retorna el mensaje "La contraseña elegida no es segura".

Solución módulo password. 
passw.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def clave(password):

        validar=False #que se vayan cumpliendo los requisitos uno a uno.
        long=len(password) #Calcula la longitud de la contraseña
        espacio=False  #variable para identificar espacios
        mayuscula=False #variable para identificar letras mayúsculas
        minuscula=False #variable para contar identificar letras minúsculas
        numeros=False #variable para identificar números
        y=password.isalnum()#si es alfanumérica retona True
        correcto=True #verifica que hayan mayuscula, minuscula, numeros y no alfanuméricos
        
        for carac in password: #ciclo for que recorre caracter por caracter en la contraseña

            if carac.isspace()==True: #Saber si el caracter es un espacio
                espacio=True #si encuentra un espacio se cambia el valor user

            if carac.isupper()== True: #saber si hay mayuscula
                mayuscula=True #acumulador o contador de mayusculas
                
            if carac.islower()== True: #saber si hay minúsculas
                minuscula=True #acumulador o contador de minúsculas
                
            if carac.isdigit()== True: #saber si hay números
                numeros=True #acumulador o contador de numeros
                            
        if espacio==True: #hay espacios en blanco
                print("La contraseña no puede contener espacios")
        else:
            validar=True #se cumple el primer requisito que no hayan espacios
                       
        if long <8 and validar==True:
            print("Mínimo 8 caracteres")
            validar=False #cambia a Flase si no se cumple el requisito móinimo de caracteres

        if mayuscula == True and minuscula ==True and numeros == True and y== False and validar ==True:
           validar = True #Cumple el requisito de tener mayuscula, minuscula, numeros y no alfanuméricos
        else:
           correcto=False #uno o mas requisitos de mayuscula, minuscula, numeros y no alfanuméricos no se cumple
           
        if validar == True and correcto==False:
           print("La contraseña elegida no es segura: debe contener letras minúsculas, mayúsculas, números y al menos 1 carácter no alfanumérico")

        if validar == True and correcto ==True:
           return True


3. MÓDULO VALIDADOR.(validador)

Crear un módulo que solicite al usuario el ingreso de un nombre de usuario y contraseña y que los valide utilizando los módulos generados en los dos ejercicios anteriores. Solución módulo validador.

Solución módulo validador.
validador.py 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import usuario
import passw

correcto=False
while correcto==False:
        nombre=input("Ingrese nombre de usuario: ")
        if usuario.nickname(nombre) == True:
            print("Usuario creado exitosamente")
            correcto=True

while correcto==True:
    contrasenia=input("Ingrese su Password: ")
    if passw.clave(contrasenia)==True:
        print("Contraseña creada exitosamente")
        correcto=False

PRUEBA DEL FUNCIONAMIENTO: En mi canal de Youtube podrás ver otros ejercicios realizados.




Hay muchos métodos para realizar este ejercicio, este fue el mio, espero sea claro y si queda alguno con dudas en este desarrollo con gusto las responderé O si tienes otra forma de hacerlo y la quieres compartir se recibe con gusto.

Recuerden: "La mayoría de los buenos programadores programan, no porque esperan que se les pague o por adulación por parte del público, sino porque es divertido programar."
- Linus Torvalds 

Éxitos!!!