Sunteți pe pagina 1din 17

1) Identifica el tipo de dato (int, float, string o list) de los siguientes valores literales

"Hola Mundo" # string

[1, 10, 100] # list

-25 # int

1.167 # float

["Hola", "Mundo"] # list

' ' # string

2) Determina mentalmente (sin programar) el resultado que aparecer por pantalla a partir de las siguientes
variables:

a = 10

b = -5

c = "Hola "

d = [1, 2, 3]

print(a * 5) # 50

print(a - b) # 15

print(c + "Mundo") # Hola Mundo

print(c * 2) # Hola Hola

print(c[-1]) # 3

print(c[1:]) # [2, 3]

print(d + d) # [1, 2, 3, 1, 2, 3]

3) El siguiente cdigo pretende realizar una media entre 3 nmeros, pero no funciona correctamente. Eres
capaz de identificar el problema y solucionarlo?
In [3]:
numero_1 = 9
numero_2 = 3
numero_3 = 6

media = (numero_1 + numero_2 + numero_3) / 3 # Hay que realizar primero la suma de los 3 nmeros
antes de dividir
print("La nota media es", media)
La nota media es 6.0
4) A partir del ejercicio anterior, vamos a suponer que cada nmero es una nota, y lo que queremos es
obtener la nota final. El problema es que cada nota tiene un valor porcentual:

La primera nota vale un 15% del total


La segunda nota vale un 35% del total

La tercera nota vale un 50% del total

Desarrolla un programa para calcular perfectamente la nota final.


In [7]:
nota_1 = 10
nota_2 = 7
nota_3 = 4

# Completa el ejercicio aqu


media = numero_1 * 0.15 + numero_2 * 0.35 + numero_3 * 0.50 # Podemos multiplicar en
tanto por 1 cada nota y sumarlas
print("La nota media es", media)
La nota media es 5.3999999999999995
5) La siguiente matriz (o lista con listas anidadas) debe cumplir una condicin, y es que en cada fila, el
cuarto elemento siempre debe ser el resultado de sumar los tres primeros. Eres capaz de modificar las
sumas incorrectas utilizando la tcnica del slicing?

Ayuda: La funcin llamada sum(lista) devuelve una suma de todos los elementos de la lista Prubalo!
In [10]:
matriz = [
[1, 1, 1, 3],
[2, 2, 2, 7],
[3, 3, 3, 9],
[4, 4, 4, 13]
]

# Completa el ejercicio aqu


matriz[1][-1] = sum(matriz[1][:-1])
matriz[3][-1] = sum(matriz[3][:-1])

print(matriz)
[[1, 1, 1, 3], [2, 2, 2, 6], [3, 3, 3, 9], [4, 4, 4, 12]]
6) Al realizar una consulta en un registro hemos obtenido una cadena de texto corrupta al revs. Al parecer
contiene el nombre de un alumno y la nota de un exmen. Cmo podramos formatear la cadena y
conseguir una estructura como la siguiente?:

Nombre Apellido ha sacado un Nota de nota.

Ayuda: Para voltear una cadena rpidamente utilizando slicing podemos utilizar un tercer ndice -1: cadena[::-1]
In [11]:
cadena = "zerP nauJ,01"
cadena = "zerP nauJ,01"

# Completa el ejercicio aqu


cadena_volteada = cadena[::-1]
print(cadena_volteada[3:], "ha sacado un", cadena_volteada[:2], "de nota.")

# Completa el ejercicio aqu


cadena_volteada = cadena[::-1]
print(cadena_volteada[3:], "ha sacado un", cadena_volteada[:2], "de nota.")
Juan Prez ha sacado un 10 de nota.

1) Realiza un programa que lea 2 nmeros por teclado y determine los siguientes aspectos (es suficiene
con mostrar True o False):

Si los dos nmeros son iguales

Si los dos nmeros son diferentes

Si el primero es mayor que el segundo

Si el segundo es mayor o igual que el primero

Completa el ejercicio aqu


n1 = float( input("Introduce el primer nmero: ") )
n2 = float( input("Introduce el segundo nmero: ") )

print("Son iguales? ", n1 == n2)


print("Son diferentes?", n1 != n2)
print("El primero es mayor que el segundo?", n1 > n2)
print("El segundo es mayor o igual que el primero?", n1 <= n2)
Introduce el primer nmero: 10
Introduce el segundo nmero: 10
Son iguales? True
Son diferentes? False
El primero es mayor que el segundo? False
El segundo es mayor o igual que el primero? True
2) Utilizando operadores lgicos, determina si una cadena de texto introducida por el usuario tiene una
longitud mayor o igual que 3 y a su vez es menor que 10 (es suficiene con mostrar True o False):
In [3]:
# Completa el ejercicio aqu
cadena = input("Escribe una cadena: ")
print("La longitud de la cadena es mayor o igual que 3 y menor que 10?", len(cadena) >= 3 and
len(cadena) < 10 )
Escribe una cadena: hola amigos que tal
La longitud de la cadena es mayor o igual que 3 y menor que 10? False
3) Realiza un programa que cumpla el siguiente algoritmo utilizando siempre que sea posible operadores
en asignacin:

Guarda en una variable numero_magico el valor 12345679 (sin el 8)

Lee por pantalla otro numero_usuario, especifica que sea entre 1 y 9 (asegrate que sea un nmero
entero)

Multiplica el numero_usuario por 9 en s mismo


Multiplica el numero_magico por el numero_usuario en s mismo

Finalmente muestra el valor final del numero_magico por pantalla

In [9]:
# Completa el ejercicio aqu
numero_magico = 12345679
numero_usuario = int(input("Introduce un nmero del 1 al 9: "))
numero_usuario *= 9
numero_magico *= numero_usuario
print("El nmero mgico es:", numero_magico)
Introduce un nmero del 1 al 9: 5
El nmero mgico es: 555555555

1) Realiza un programa que lea dos nmeros por teclado y permita elegir entre 3 opciones en un men:

Mostrar una suma de los dos nmeros

Mostrar una resta de los dos nmeros (el primero menos el segundo)

Mostrar una multiplicacin de los dos nmeros

En caso de no introducir una opcin vlida, el programa informar de que no es correcta.

In [3]:
# Completa el ejercicio aqu
n1 = float(input("Introduce un nmero: ") )
n2 = float(input("Introduce otro nmero: ") )
opcion = 0

print("Qu quieres hacer? \n1) Sumar los dos nmeros\n2) Restar los dos nmeros\n3) Multiplicar los dos
nmeros")
opcion = int(input("Introduce un nmero: ") )

if opcion == 1:
print("La suma de",n1,"+",n2,"es",n1+n2)
elif opcion == 2:
print("La resta de",n1,"-",n2,"es",n1-n2)
elif opcion == 3:
print("El producto de",n1,"*",n2,"es",n1*n2)
else:
print("Opcin incorrecta")
Introduce un nmero: 5
Introduce otro nmero: 5
Qu quieres hacer?
1) Sumar los dos nmeros
2) Restar los dos nmeros
3) Multiplicar los dos nmeros
Introduce un nmero: 3
El producto de 5.0 * 5.0 es 25.0
2) Realiza un programa que lea un nmero impar por teclado. Si el usuario no introduce un nmero impar,
debe repetise el proceso hasta que lo introduzca correctamente.
In [5]:
# Completa el ejercicio aqu
numero = 0
while numero % 2 == 0: # Mientras sea par repetimos el proceso
numero = int(input("Introduce un nmero impar: ") )
Introduce un nmero impar: 4
Introduce un nmero impar: 2
Introduce un nmero impar: 3
3) Realiza un programa que sume todos los nmeros pares desde el 0 hasta el 100:

Sugerencia: Puedes utilizar la funciones sum() y range() para hacerlo ms fcil. El tercer parmetro en la funcin
range(inicio, fin, salto) indica un salto de nmeros, prubalo.
In [1]:
# Completa el ejercicio aqu
# range(0, 101, 2)

suma = sum( range(0, 101, 2) )


print(suma)

# Segunda forma con bucles


num = 0
suma = 0

while num <= 100:


if num % 2 == 0:
suma += num
num += 1

print(suma)
2550
2550
4) Realiza un programa que pida al usuario cuantos nmeros quiere introducir. Luego lee todos los
nmeros y realiza una media aritmtica:
In [5]:
# Completa el ejercicio aqu
suma = 0
numeros = int(input("Cuntos nmeros quieres introducir? ") )
for x in range(numeros):
suma += float(input("Introduce un nmero: ") )
print("Se han introducido",numeros,"nmeros que en total han sumado",suma,"y la media
es",suma/numeros)
Cuntos numeros quieres introducir? 4
Introduce un nmero: 3
Introduce un nmero: 2
Introduce un nmero: 4
Introduce un nmero: 6
Se han introducido 4 nmeros que en total han sumado 15.0 y la media es 3.75
5) Realiza un programa que pida al usuario un nmero entero del 0 al 9, y que mientras el nmero no sea
correcto se repita el proceso. Luego debe comprobar si el nmero se encuentra en la lista de nmeros y
notificarlo:

Consejo: La sintaxis "valor in lista" permite comprobar fcilmente si un valor se encuentra en una lista (devuelve
True o False)
In [7]:
# Completa el ejercicio aqu
numeros = [1, 3, 6, 9]

while True:
numero = int(input("Escribe un nmero del 0 al 9: "))
if numero >= 0 and numero <= 9:
break
if numero in numeros:
print("El nmero",numero,"se encuentra en la lista",numeros)
else:
print("El nmero",numero,"no se encuentra en la lista",numeros)
Escribe un nmero del 0 al 9: 3
El nmero 3 se encuentra en la lista [1, 3, 6, 9]
6) Utilizando la funcin range() y la conversin a listas genera las siguientes listas dinmicamente:

Todos los nmeros del 0 al 10 [0, 1, 2, ..., 10]

Todos los nmeros del -10 al 0 [-10, -9, -8, ..., 0]

Todos los nmeros pares del 0 al 20 [0, 2, 4, ..., 20]

Todos los nmeros impares entre -20 y 0 [-19, -17, -15, ..., -1]

Todos los nmeros mltiples de 5 del 0 al 50 [0, 5, 10, ..., 50]

Pista: Utiliza el tercer parmetro de la funcin range(inicio, fin, salto).


In [2]:
# Completa el ejercicio aqu
print( list( range( 0, 11 ) ) )
print( list( range( -10, 1 ) ) )
print( list( range( 0, 21, 2 ) ) )
print( list( range( -19, 0, 2 ) ) )
print( list( range( 0, 51, 5 ) ) )
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[-19, -17, -15, -13, -11, -9, -7, -5, -3, -1]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
7) Dadas dos listas, debes generar una tercera con todos los elementos que se repitan en ellas, pero no
debe repetise ningn elemento en la nueva lista:
In [20]:
# 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)
['h', 'o', 'l', 'a', ' ', 'u', 'n']

1) Realiza un programa que siga las siguientes instrucciones:

Crea un conjunto llamado usuarios con los usuarios Marta, David, Elvira, Juan y Marcos

Crea un conjunto llamado administradores con los administradores Juan y Marta.

Borra al administrador Juan del conjunto de administradores.

Aade a Marcos como un nuevo administrador, pero no lo borres del conjunto de usuarios.

Muestra todos los usuarios por pantalla de forma dinmica, adems debes indicar cada usuario es
administrador o no.

Notas: Los conjuntos se pueden recorrer dinmicamente utilizando el bucle for de forma similar a una lista. Tambin
cuentan con un mtodo llamado .discard(elemento) que sirve para borrar un elemento.
# Completa el ejercicio aqu
usuarios = {"Marta", "David", "Elvira", "Juan", "Marcos"}
administradores = {"Juan", "Marta"}

administradores.discard("Juan")
administradores.add("Marcos")

for usuario in usuarios:


if usuario in administradores:
print(usuario, "es admin")
else:
print(usuario, "no es admin")
Marta es admin
David no es admin
Elvira no es admin
Marcos es admin
Juan no es admin
2) Durante el desarrollo de un pequeo videojuego se te encarga configurar y balancear cada clase de
personaje jugable. Partiendo que la estadstica base es 2, debes cumplir las siguientes condiciones:

El caballero tiene el doble de vida y defensa que un guerrero.


El guerrero tiene el doble de ataque y alcance que un caballero.

El arquero tiene la misma vida y ataque que un guerrero, pero la mitad de su defensa y el doble de su
alcance.

Muestra como quedan las propiedades de los tres personajes.

caballero = { 'vida':2, 'ataque':2, 'defensa': 2, 'alcance':2 }


guerrero = { 'vida':2, 'ataque':2, 'defensa': 2, 'alcance':2 }
arquero = { 'vida':2, 'ataque':2, 'defensa': 2, 'alcance':2 }

# Completa el ejercicio aqu


caballero['vida'] = guerrero['vida'] * 2
caballero['defensa'] = guerrero['defensa'] * 2

guerrero['ataque'] = caballero['ataque'] * 2
guerrero['alcance'] = caballero['alcance'] * 2

arquero['vida'] = guerrero['vida']
arquero['ataque'] = guerrero['ataque']
arquero['defensa'] = guerrero['defensa'] / 2
arquero['alcance'] = guerrero['alcance'] * 2

print("Caballero:\t", caballero)
print("Guerrero:\t", guerrero)
print("Arquero:\t", arquero)
Caballero: {'ataque': 2, 'defensa': 4, 'alcance': 2, 'vida': 4}
Guerrero: {'ataque': 4, 'defensa': 2, 'alcance': 4, 'vida': 2}
Arquero: {'ataque': 4, 'defensa': 1.0, 'alcance': 8, 'vida': 2}
3) Durante la planificacin de un proyecto se han acordado una lista de tareas. Para cada una de estas
tareas se ha asignado un orden de prioridad (cuanto menor es el nmero de orden, ms prioridad).

Eres capaz de crear una estructura del tipo cola con todas las tareas ordenadas pero sin los nmeros de
orden?

Pista: Para ordenar automticamente una lista es posible utilizar el mtodo .sort().
In [19]:
tareas = [
[6, 'Distribucin'],
[2, 'Diseo'],
[1, 'Concepcin'],
[7, 'Mantenimiento'],
[4, 'Produccin'],
[3, 'Planificacin'],
[5, 'Pruebas']
]

print("==Tareas desordenadas==")
for tarea in tareas:
print(tarea[0], tarea[1])
# Completa el ejercicio aqu
from collections import deque

tareas.sort()

cola = deque()
for tarea in tareas:
cola.append(tarea[1])

print("\n==Tareas ordenadas==")
for tarea in cola:
print(tarea)
==Tareas desordenadas==
6 Distribucin
2 Diseo
1 Concepcin
7 Mantenimiento
4 Produccin
3 Planificacin
5 Pruebas

==Tareas ordenadas==
Concepcin
Diseo
Planificacin
Produccin
Pruebas
Distribucin
Mantenimiento

1) Formatea los siguientes valores para mostrar el resultado indicado:

"Hola Mundo" Alineado a la derecha en 20 caracteres

"Hola Mundo" Truncamiento en el cuarto carcter (ndice 3)

"Hola Mundo" Alineamiento al centro en 20 caracteres con truncamiento en el segundo carcter


(ndice 1)

150 Formateo a 5 nmeros enteros rellenados con ceros

7887 Formateo a 7 nmeros enteros rellenados con espacios

20.02 Formateo a 3 nmeros enteros y 3 nmeros decimales

In [1]:
# Completa el ejercicio aqu
print( "{:>20}".format("Hola Mundo") )
print( "{:.3}".format("Hola Mundo") )
print( "{:^20.2}".format("Hola Mundo") )
print( "{:05d}".format(150) )
print( "{:7d}".format(7887) )
print( "{:07.3f}".format(20.02) )
Hola Mundo
Hol
Ho
00150
7887
020.020
2) Crea un script llamado tabla.py que realice las siguientes tareas:

Debe tomar 2 argumentos, ambos nmeros enteros positivos del 1 al 9, sino mostrar un error.

El primer argumento har referencia a las filas de una tabla, el segundo a las columnas.

En caso de no recibir uno o ambos argumentos, debe mostrar informacin acerca de cmo utilizar el
script.

El script contendr un bucle for que itere el nmero de veces del primer argumento.

Dentro del for, aade un segundo for que itere el nmero de veces del segundo argumento.

Dentro del segundo for ejecuta una instruccin print(" * ", end=''), (end='' evita el salto de lnea).

Ejecuta el cdigo y observa el resultado.

Ahora intenta deducir dnde y cmo aadir otra instruccion print para dibujar una tabla.

Recordatorio: Los argumentos se envan como cadenas separadas por espacios, si quieres enviar varias palabras
como un argumento debers indicarlas entre comillas dobles "esto es un argumento". Para capturar los argumentos
debes utilizar el mdulo sys y su lista argv:

import sys

print(sys.argv) # argumentos enviados

Solucin: tabla.py
import sys

if len(sys.argv) == 3:

filas = int(sys.argv[1])

columnas = int(sys.argv[2])
if filas < 1 or filas > 9 or columnas < 1 or columnas > 9:

print("Error - Filas o columnas incorrectos")

print("Ejemplo: tabla.py [1-9] [1-9]")

else:

# Aqui empieza la lgica

for f in range(filas):

print("")

for c in range(columnas):

print(" * ", end='')

else:

print("Error - Argumentos incorrectos")

print("Ejemplo: tabla.py [1-9] [1-9]")

3) [Avanzado] Crea un script llamado descomposicion.py que realice las siguientes tareas:

Debe tomar 1 argumento que ser un nmero entero positivo.

En caso de no recibir un argumento, debe mostrar informacin acerca de cmo utilizar el script.

El objetivo del script es descomponer el nmero en unidades, decenas, centenas, miles... tal que por
ejemplo si se introduce el nmero:

> 3647

El programa deber devolver una descomposicin lnea a lnea como la siguiente utilizando las tcnicas de
formateo:

> 0007

0040

0600

3000

Pista: Que el valor sea un nmero no significa necesariamente que deba serlo para formatearlo. Necesitars jugar
muy bien con los ndices y realizar muchas conversiones entre tipos cadenas, nmeros y viceversa

Solucin: descomposicion.py
import sys
if len(sys.argv) == 2:

numero = int(sys.argv[1])

if numero < 0 or numero > 9999:

print("Error - Nmero es incorrecto")

print("Ejemplo: descomposicion.py [0-9999]")

else:

# Aqui va la lgica

cadena = str(numero)

longitud = len(cadena)

for i in range(longitud):

print( "{:04d}".format( int(cadena[longitud-1-i]) * 10 ** i ))

else:

print("Error - Argumentos incorrectos")

print("Ejemplo: descomposicion.py [0-9999]")

Tema 06: Programacin de funciones


(Soluciones)
Nota: Estos ejercicios son optativos para hacer al final de la unidad y estn pensados para apoyar tu aprendizaje.

1) Realiza una funcin llamada area_rectangulo() que devuelva el rea del rectangulo a partir de una base y
una altura. Calcula el rea de un rectngulo de 15 de base y 10 de altura.

Nota: El rea de un rectngulo se obtiene al multiplicar la base por la altura.

In [7]:

# Completa el ejercicio aqu


def area_rectangulo(base, altura):
return base*altura

print( area_rectangulo(15,10) )
150
2) Realiza una funcin llamada area_circulo() que devuelva el rea de un crculo a partir de un radio. Calcula
el rea de un crculo de 5 de radio:

Nota: El rea de un crculo se obtiene al elevar el radio a dos y multiplicando el resultado por el nmero pi. Puedes
utilizar el valor 3.14159 como pi o importarlo del mdulo math:

import math

print(math.pi)

> 3.1415...

In [6]:

# Completa el ejercicio aqu


import math

def area_circulo(radio):
return (radio**2) * math.pi

print( area_circulo(5) )
78.53981633974483

3) Realiza una funcin llamada relacion() que a partir de dos nmeros cumpla lo siguiente:

Si el primer nmero es mayor que el segundo, debe devolver 1.

Si el primer nmero es menor que el segundo, debe devolver -1.

Si ambos nmeros son iguales, debe devolver un 0.

Comprueba la relacin entre los nmeros: '5 y 10', '10 y 5' y '5 y 5'

In [8]:

# Completa el ejercicio aqu


def relacion(a, b):
if a > b:
return 1
elif a < b:
return -1
else:
return 0

print( relacion(5, 10) )


print( relacion(10, 5) )
print( relacion(5, 5) )
-1
1
0
4) Realiza una funcin llamada intermedio() que a partir de dos nmeros, devuelva su punto intermedio:

Nota: El nmero intermedio de dos nmeros corresponde a la suma de los dos nmeros dividida entre 2

Comprueba el punto intermedio entre -12 y 24

In [13]:

# Completa el ejercicio aqu


def intermedio(a, b):
return (a + b) / 2

print( intermedio(-12, 24) )


6.0

5) Realiza una funcin llamada recortar() que reciba tres parmetros. El primero es el nmero a recortar, el
segundo es el lmite inferior y el tercero el lmite superior. La funcin tendr que cumplir lo siguiente:

Devolver el lmite inferior si el nmero es menor que ste

Devolver el lmite superior si el nmero es mayor que ste.

Devolver el nmero sin cambios si no se supera ningn lmite.

Comprueba el resultado de recortar 15 entre los lmites 0 y 10

In [14]:

# Completa el ejercicio aqu


def recortar(numero, minimo, maximo):
if numero < minimo:
return minimo
elif numero > maximo:
return maximo
return numero

print( recortar(15, 0, 10) )


10

6) Realiza una funcin separar() que tome una lista de nmeros enteros y devuelva dos listas ordenadas. La
primera con los nmeros pares, y la segunda con los nmeros impares:

Por ejemplo:

pares, impares = separar([6,5,2,1,7])

print(pares) # valdra [2, 6]

print(impares) # valdra [1, 5, 7]


Nota: Para ordenar una lista automticamente puedes usar el mtodo .sort().

In [20]:

numeros = [-12, 84, 13, 20, -33, 101, 9]

# Completa el ejercicio aqu

def separar(lista):
numeros.sort()
pares = []
impares = []
for n in numeros:
if n%2 == 0:
pares.append(n)
else:
impares.append(n)
return pares, impares

pares, impares = separar(numeros)


print(pares)
print(impares)
[-12, 20, 84]
[-33, 9, 13, 101]

Tema 07: Gestin de errores (Soluciones)


Nota: Estos ejercicios son optativos para hacer al final de la unidad y estn pensados para apoyar tu aprendizaje.

1) Localiza el error en el siguiente bloque de cdigo. Crea una excepcin para evitar que el programa se
bloquee y adems explica en un mensaje al usuario la causa y/o solucin:

In [5]:

# Completa el ejercicio aqu


try:
resultado = 10/0
except ZeroDivisionError:
print("Error: No es posible dividir por cero, debes introducir un nmero distinto.")
Error: No es posible dividir por cero, debes introducir un nmero distinto.
2) Localiza el error en el siguiente bloque de cdigo. Crea una excepcin para evitar que el programa se
bloquee y adems explica en un mensaje al usuario la causa y/o solucin:

In [8]:

# Completa el ejercicio aqu


lista = [1, 2, 3, 4, 5]
try:
lista[10]
except IndexError:
print("Error: El ndice al que intentas acceder se encuentra fuera del rango, debes utilizar un nmero
mayor o igual que cero y menor que la longitud de la lista.")
Error: El ndice al que intentas acceder se encuentra fuera del rango, debes utilizar un
nmero mayor o igual que cero y menor que la longitud de la lista.

3) Localiza el error en el siguiente bloque de cdigo. Crea una excepcin para evitar que el programa se
bloquee y adems explica en un mensaje al usuario la causa y/o solucin:

In [12]:

# Completa el ejercicio aqu


colores = { 'rojo':'red', 'verde':'green', 'negro':'black' }
try:
colores['blanco']
except KeyError:
print("Error: La clave del diccionario no se encuentra, debes probar con otra que s exista.")
Error: La clave del diccionario no se encuentra, debes probar con otra que s exista.

4) Localiza el error en el siguiente bloque de cdigo. Crea una excepcin para evitar que el programa se
bloquee y adems explica en un mensaje al usuario la causa y/o solucin:

In [15]:

# Completa el ejercicio aqu


try:
resultado = "20" + 15
except TypeError:
print("Error: Slo es posible sumar datos del mismo tipo, debes transformar el nmero a cadena o la
cadena a nmero.")
Error: Slo es posible sumar datos del mismo tipo, debes transformar el nmero a cadena o
la cadena a nmero.

5) Realiza una funcin llamada agregar_una_vez() que reciba una lista y un elemento. La funcin debe
aadir el elemento al final de la lista con la condicin de no repetir ningn elemento. Adems si este
elemento ya se encuentra en la lista se debe invocar un error de tipo ValueError que debes capturar y
mostrar este mensaje en su lugar:

Error: Imposible aadir elementos duplicados => [elemento].


Prueba de agregar los elementos 10, -2, "Hola" a la lista de elementos con la funcin una vez la has creado
y luego muestra su contenido.

Nota: Puedes utilizar la sintaxis: elemento in lista

In [22]:

elementos = [1, 5, -2]

# Completa el ejercicio aqu


def agregar_una_vez(lista, el):
try:
if el in lista:
raise ValueError
else:
lista.append(el)
except ValueError:
print("Error: Imposible aadir elementos duplicados =>", el)

agregar_una_vez(elementos, 10)
agregar_una_vez(elementos, -2)
agregar_una_vez(elementos, "Hola")
print(elementos)
Error: Imposible aadir elementos duplicados => -2
[1, 5, -2, 10, 'Hola']

S-ar putea să vă placă și