Ejercicio1: Crear un diccionario que cuente cuantos numeros pares e impares de su rut


In [1]:
while True:
    try:
        rut = int(input("Ingrese su rut: "))
        break
    # como no puse nada en el except, este atrapa TODOS los errores, en este caso debiese ser ValueError
    except:
        print("Error, su rut son solo digitos")


Ingrese su rut: hola
Error, su rut son solo digitos
Ingrese su rut: chao
Error, su rut son solo digitos
Ingrese su rut: 12345678

In [2]:
rut


Out[2]:
12345678

In [3]:
dict = {}

In [4]:
while rut > 0:
    ud =  rut%10
    rut //= 10
    if ud%2 == 0:
        try:
            dict['pares'] += 1
        except KeyError:
            dict['pares'] = 1
        # Esto se podria hacer para que en adelante exista la variable, no es necesario en este caso
        except NameError:
            dict = {}
    else:
        try:
            dict['impares'] += 1
        except KeyError:
            dict['impares'] = 1

In [5]:
dict


Out[5]:
{'impares': 4, 'pares': 4}

In [6]:
int('hola')


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-6-30d5c577a562> in <module>()
----> 1 int('hola')

ValueError: invalid literal for int() with base 10: 'hola'

In [7]:
a += 1


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-7-3a23b85b51e9> in <module>()
----> 1 a += 1

NameError: name 'a' is not defined

Ejercicio2: Implemente una función promedio de notas de una lista


In [9]:
def promedio(l):
    try:
        suma = 0
        for i in l:
            suma += i
        return suma/len(l)
    except:
        raise ValueError("Error en los datos")

In [10]:
promedio([5,6,7])


Out[10]:
6.0

In [11]:
promedio([])


---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-9-b71992b9da89> in promedio(l)
      5             suma += i
----> 6         return suma/len(l)
      7     except:

ZeroDivisionError: division by zero

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-11-98faf6832537> in <module>()
----> 1 promedio([])

<ipython-input-9-b71992b9da89> in promedio(l)
      6         return suma/len(l)
      7     except:
----> 8         raise ValueError("Error en los datos")

ValueError: Error en los datos

In [12]:
try:
    promedio([])
except Exception as e:
    print(e)


Error en los datos

In [ ]:


In [ ]:


In [ ]:


In [ ]: