Saltar a contenido

Ejercicios « Introducción informal

Ejercicio 1

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

Note

"Hola Mundo"     
[1, 10, 100]      
-25              
1.167             
["Hola", "Mundo"] 
' '    
"Hola Mundo"         # string
[1, 10, 100]         # list
-25                  # int
1.167                # float
["Hola", "Mundo"]    # list
' '                  # string

Ejercicio 2

Determina mentalmente (sin programar) el resultado que aparecerá por pantalla en las siguientes operaciones con variables:

Note

a = 10
b = -5
c = "Hola "
d = [1, 2, 3] 

print(a * 5)
print(a - b)
print(c + "Mundo")
print(c * 2)
print(d[-1])
print(d[1:])
print(d + d)   
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(d[-1])         # 3
print(d[1:])         # [2, 3]
print(d + d)         # [1, 2, 3, 1, 2, 3]

Ejercicio 3

El siguiente código pretende realizar una media entre 3 números, pero no funciona correctamente. ¿Eres capaz de identificar el problema y solucionarlo?

Note

numero_1 = 9
numero_2 = 3
numero_3 = 6

media = numero_1 + numero_2 + numero_3 / 3
print("La nota media es", media)
numero_1 = 9
numero_2 = 3
numero_3 = 6

# Hay que realizar primero la suma de los 3 números antes de dividir
media = (numero_1 + numero_2 + numero_3) / 3  
print("La nota media es", media)
La nota media es 6.0

Ejercicio 4

A partir del ejercicio anterior, vamos a suponer que cada número 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:

Note

nota_1 = 10
nota_2 = 7
nota_3 = 4

# Completa el ejercicio aquí
nota_1 = 10
nota_2 = 7
nota_3 = 4

# Completa el ejercicio aquí

# Podemos multiplicar en tanto por 1 cada nota y sumarlas
nota_final = nota_1 * 0.15 + nota_2 * 0.35 + nota_3 * 0.50  
print("La nota final es", nota_final)
La nota final es 5.949999999999999

Ejercicio 5

La siguiente matriz (o lista con listas anidadas) debe cumplir una condición, 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 técnica del slicing?

Ayuda

La función llamada sum(lista) devuelve una suma de todos los elementos de la lista ¡Pruébalo!

Note

matriz = [ 
    [1, 1, 1, 3],
    [2, 2, 2, 7],
    [3, 3, 3, 9],
    [4, 4, 4, 13]
]

# Completa el ejercicio aquí
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]]

Ejercicio 6

Al realizar una consulta en un registro hemos obtenido una cadena de texto corrupta al revés. Al parecer contiene el nombre de un alumno y la nota de un exámen. ¿Cómo podríamos formatear la cadena y conseguir una estructura como la siguiente?

Nombre Apellido ha sacado un Nota de nota.

Ayuda

Para voltear una cadena rápidamente utilizando slicing podemos utilizar un tercer índice -1: cadena[::-1]

Note

cadena = "zeréP nauJ,01"

# Completa el ejercicio aquí
cadena = "zeréP nauJ,01"

# Completa el ejercicio aquí
cadena_volteada = cadena[::-1]
print(cadena_volteada[3:], "ha sacado un", cadena_volteada[:2], "de nota.")
Juan Pérez ha sacado un 10 de nota.

Última edición: 20 de Septiembre de 2018