Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso: Programación
Actividad: Tarea 1
Ejercicio 1
Escribe una función en python que revierta una cadena de palabras.
In [2]: # código
def Reverse(x):
palabra=x.split() #Separar la cadena de texto en palabras con la función "split()"
reverse=palabra[::-1] #Se crea una lista con las palabras al reverso
reverse_texto=" ".join(reverse) #se concatenan las palabras hasta formar de nuevo el
return(reverse_texto) #Regrea el texto al reverso
Ejercicio 2
Escribe una función en python que encuentre un par de elementos (índice de los números) de
una matriz dada cuya suma es igual a un número de destino específico.
Salida 1,2
'1 2'
Out[3]:
Ejercicio 3
Dada una lista de números L=[$x_0$,...,$x_{n-1}$]. Implemente una función en Python que
devuelva la media y la varianza, es decir
In [7]: #------------------------------------------------------------------------
#a) La media
#------------------------------------------------------------------------
def media(datos):
n=len(datos) #Número de datos
return(sum(datos)/n) #Promedio
datos=[1,2,3,4,5,6,7,8,9,10]
media(datos)
5.5
Out[7]:
In [8]: #------------------------------------------------------------------------
#b) La varianza: two-pass algorithm
#------------------------------------------------------------------------
def var_two_pass(num):
n=len(num) #Número de datos
media=sum(num)/n #promedio
var_des =[((i-media)**2) for i in num] #Cálculo de la desviación estandar
varianza=sum(var_des)/n #Cálculo de la varianza sumando la desviació y dividirlo p
return varianza
datos=[1,2,3,4,5,6,7,8,9,10]
var_two_pass(datos)
8.25
Out[8]:
In [9]: #------------------------------------------------------------------------
#b) La varianza: one-pass algorithm
#------------------------------------------------------------------------
def var_one_pass(num):
n=len(num) #Número de datos
media=sum(num)/n #promedio
var=0
for i in num:
var+= (i**2)/n #La sumatoria de los datos al cuadrado, dividido entre el número de
varianza=var-media**2 #Cálculo de la varianza
return varianza
datos=[1,2,3,4,5,6,7,8,9,10]
var_one_pass(datos)
8.25
Out[9]:
Ejercicio 4
Escribir una función en python para encontrar la validez de una cadena de paréntesis, '(', ')', '[',
']', '{', '}'. Los paréntesis de abrir y cerrar deben aparecer en el orden correcto. Por ejemplo:
lista = "([{}])))"
print(lista,"-", Verificar(lista))
([{}]()([]) - No es válido
([{}]))) - No es válido
Ejercicio 5
Escribe una función en python que traduzca un texto a Pig Latin. Las reglas utilizadas para el Pig
Latin son las siguientes (nota: existen otras variantes, https://en.wikipedia.org/wiki/Pig_Latin):
Si una palabra comienza con una vocal, agregar "ay" al final. Por ejemplo, "escribe" se
traduce por "escribeay".
Si comienza con una o mas consonantes, entonces tomamos todas las consonantes antes
de la primera vocal y las colocamos al final de la palabra y luego se agrega "ay" al final. Por
ejemplo, "principal" se traduce como "incipalpray".
lista="hola"
Pig_Latin(lista)
'holaay'
Out[10]:
La función "resul()", manda a llamar la funcion "Pig_Latin" transformando a cada una de las
palabras de la cadena de caracter; que despues es unida para presentar la cadena transformada
a pig latin.
Ejercicio 6
Escribe una función en python que obtenga todos los posibles subconjuntos únicos de un
conjunto de números enteros distintos.
Entrada: [4,5,6]
Salida: [[], [6], [5], [5, 6], [4], [4, 6], [4, 5], [4, 5, 6]]
Con la función "subconjuntos()" se crea los subconjuntos de una lista dada, el resultado es una
lista de tuplas que representa las combinaciones.
In [14]: import itertools #Importar la libreria para que me haga las combinaciones
def subconjuntos(s):
combinacion = []
for i in range(len(s)+1):
for j in itertools.combinations(s,i): #Se generan todas las poibles combinacione
combinacion.append(j) #se almacena las combinaciones en el objeto "combinaci
print(combinacion)
lista = [4,5,6]
subconjuntos(lista)
[(), (4,), (5,), (6,), (4, 5), (4, 6), (5, 6), (4, 5, 6)]
Ejercicio 7
Implemente una función en python que retorna el término n-esimo de la secuencia mirar y
decir (Look and Say). La secuencia mirar y decir es la secuencia de los siguientes números
enteros: 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, .. Nota que los terminos se
generan al mirar y decir el anterior:
El segundo término es "11", que se genera al leer el primer término como "Un 1" (Hay un 1
en el término anterior)
El tercer término es "21", generado al leer el segundo término como "Dos 1"
El cuarto término es "1211", generado al leer el tercer término como "Un 2 Un 1 "
y así sucesivamente.
Se crea la función "mirarydecir ()" para generar la secuencia "mirar y decir" a partir de una
secuencia dada anteriormente.
In [ ]: La función Look_Say() genera el número de secuencia "mirar y decir" cuantas veces (n)