mdisner / Python-Programming-

This repository contains exercises and homeworks about Python Programming (Spanish)
0 stars 0 forks source link

Ejercicio 1 - Listas #1

Open mdisner opened 6 years ago

mdisner commented 6 years ago

!/usr/bin/python

-- coding: utf-8 --

UNAM-CERT

list = []

aprobados = []

def aprueba_becario(nombre_completo): nombre_separado = nombre_completo.split() for n in nombre_separado: if n in ['Gerardo', 'Alan', 'Guadalupe', 'Rafael', 'Karina']:

          return False
aprobados.append(nombre_separado)
return True

becarios = ['Becerra Alvarado Hugo Alonso', 'Cabrera Balderas Carlos Eduardo', 'Corona Lopez GeRARdo', 'Diez Gutierrez Gonzalez rafael', 'Disner Lopez Marco Antonio', 'Garcia Romo Claudia Fernanda', 'Gonzalez Ramirez Miguel Angel', 'Gonzalez Vargas Andrea Itzel', 'Orozco Avalos Aline kaRIna', 'Palacio Nieto Esteban', 'Reyes Aldeco Jairo ALAN', 'Santiago Mancera Arturo Samuel', 'Sarmiento Campos Jose', 'Sarmiento Campos Maria gUADALUPE', 'Valle Juarez Pedro Angel', 'Viveros Campos Ulises']

nuevo = raw_input("Dame apellido y nombre del nuevo becario: ")

def agrega_becario(nuevo): mayus = nuevo.upper() becarios.append(mayus) becarios.sort(key=lambda s: s.split(" ")[0].upper())

agrega_becario(nuevo)

quitar = raw_input("Dame el nombre del Becario que se eliminará: ")

def quita_becario(quitar):

  if str(quitar) in becarios:
   becarios.remove(quitar)
   print "True"
  else:
   print "False"

quita_becario(quitar)

for b in becarios:
    a = b.title()
    if aprueba_becario(a):
        print 'APROBADOO: ' + a.upper()
    else:
        print 'REPROBADO: ' + a.upper()
mdisner commented 6 years ago

Las modificaciones hechas al archivo funciones.py permiten que se valide si un becario está aprobado o reprobado, como se puede ver en la lista "becarios", el código valida inclusive si los nombres de los becarios están escritos con una combinación de mayúsculas y minúsculas.

Además se crearon las funciones "agrega_becario" y "quitar" las cuales (como su nombre lo indica) agrega el nombre de un becario a la lista, mientras que la otra lo retira, si no se agrega ningún becario a la lista agregará/quitará solamente un espacio en blanco, analogamente si se introduce ninguna cadena en la función "quitar". Por esta razón al omitir cadenas en estas funciones, la función quitar responderá con un "True".