TAREA 7. Problema 1. Supongamos que hicimos la siguiente asignación: x = [1, 2, [3, 'John', 4], 'Hi']

Texto completo

(1)

TAREA 7

Nombre: Fecha: Matricula: Grupo: Problema 1.

Para cada una de las siguientes expresiones, especifica el tipo y el valor. Si se genera un error, seleccione el tipo de 'NoneType "y escriba la palabra" error "en el cuadro para el valor.

Supongamos que hicimos la siguiente asignación:

x = [1, 2, [3, 'John', 4], 'Hi']

Adicionalmente, asumimos que las expresipones son evaluadas en el orden mostrado, esto es, cada linea se ejecuta inmediatamente después de la linea anterior.

1.1 x[0] NoneType Int Float Boolean Function String List 1.2 x[2] NoneType Int Float Boolean Function String List

(2)

1.3 x[-1] NoneType Int Float Boolean Function String List 1.4 x[2][2] NoneType Int Float Boolean Function String List 1.5 x[0:1] NoneType Int Float Boolean Function String List

(3)

1.6 2 in x NoneType Int Float Boolean Function String List 1.7 3 in x NoneType Int Float Boolean Function String List 1.8 x[0] = 8 x NoneType Int Float Boolean Function String List

(4)

Problema 2

Para cada una de las siguientes expresiones, especifique el tipo y valor obtenidos. Si se genera un error, seleccione 'NoneType' y escriba la palabra 'error' en el cuadro para los valores.

Revisión de funciones pre definidas en Python: Usando la función pre definida 'range'

La forma estándar de emplear la función range es especificando el valor final así range puede dar una lista de valores que inician de 0 y se detiene un valor antes del definido. Por ejemplo ejecutando la función range(stop) tenemos:

>>> range(5) [0, 1, 2, 3, 4]

También podemos usar la función range estableciendo parámetros adicionales, definiendo un valor donde inicie y otro para indicar dónde termine. Esto lo podemos especificar de la siguiente manera range(star, stop), como se muestra a continuación (al igual que la primer definición de range podemos ver que se detiene un número antes del valor definido):

>>> range(2, 5) [2, 3, 4]

Para especificar el tamaño del avance de la secuencia es necesario especificar el valor inicial, el final y el tamaño del paso range(start, stop, stepSize), como se muestra a continuación:

>>> range(2, 10, 2) [2, 4, 6, 8]

En este problema obtendrás mayor práctica con el uso de la función range. Puedes encontrar mas

ejemplos de la función range en esta liga

Usando la función pre definida 'sum'

La función sum es una función pre definida en Python que toma una lista como argumento y regresa la suma de esa lista. La lista de los valores deberá ser del tipo numérico, como se muestra en los siguientes ejemplos: >>> sum([1, 9, 10]) 20 >>> sum([4.5, 7, 0.331]) 11.831 >>> sum(['a', 'b', 'c'])

Traceback (most recent call last): File "<stdin>", line 1, in <module>

(5)

Supongamos que tenemos la siguiente asignación:

x = [1, 2, [3, 'John', 4], 'Hi']

Adicionalmente, asumimos que las expresiones son evaluadas en el orden mostrado, esto es, cada linea se ejecuta inmediatamente después de la linea anterior.

2.1 range(3) NoneType Int Float Boolean Function String List 2.2 range(3, 10) NoneType Int Float Boolean Function String List 2.3 range(3, 10, 3) NoneType Int Float

(6)

2.4 range(3, 10.5, 0.5) NoneType Int Float Boolean Function String List 2.5 range(10, 3) NoneType Int Float Boolean Function String List 2.6 range(10, 3, -1) NoneType Int Float Boolean Function String List

(7)

2.7 range(len(x)) NoneType Int Float Boolean Function String List 2.8 sum(range(len(x))) NoneType Int Float Boolean Function String List

(8)

Problema 3

Para cada expresión a continuación, especificar el tipo y el valor. Si se genera un error, seleccione el tipo de 'NoneType "y poner la palabra" error "en el cuadro para el valor. Suponga que cada expresión se ejecuta después de la anterior en el orden mostrado.

3.1 >>> aList = range(1, 6) >>> bList = aList >>> aList[2] = 'hello' >>> aList == bList NoneType Int Float Boolean Function String List 3.2 >>> aList is bList NoneType Int Float Boolean Function String List 3.3 >>> aList NoneType Int Float Boolean Function String Tuple List

(9)

3.4 >>> bList NoneType Int Float Boolean Function String List 3.5 >>> cList = range(6, 1, -1) >>> dList = []

>>> for num in cList: dList.append(num) >>> cList == dList NoneType Int Float Boolean Function String List 3.6 >>> cList is dList NoneType

(10)

3.7 >>> cList[2] = 20 >>> cList NoneType Int Float Boolean Function String List 3.8 >>> dList NoneType Int Float Boolean Function String List

(11)

Problema 4.

Para cada una de las expresiones siguientes, especificar el tipo y el valor. Si se genera un error, seleccione el tipo de 'NoneType " y escriba la palabra" error "en el cuadro para el valor. Si fuera una función, seleccione "function" y escriba la palabra "function" en el cuadro para el valor.

Si el método regresa None es decir no regresa nada, seleccione 'NoneType' y escriba la palabra 'None' en el cuadro de valores

Asumiendo que tenemos la siguiente asignación:

> listA = [1, 4, 3, 0]

> listB = ['x', 'z', 't', 'q']

Quizá sea necesario consultar La libreria de referencia de Python para aprender acerca del método de listas. Asuma que estas llamadas aparecen una después de otra (entonces si la lista es modificada en una expresión, esa modificación de mantiene para las expresiones subsecuentes).

4.1 listA.sort NoneType Int Float Boolean Function String List 4.2 listA.sort() NoneType

(12)

4.3 listA NoneType Int Float Boolean Function String List 4.4 listA.insert(0, 100) NoneType Int Float Boolean Function String List 4.5 listA.remove(3) NoneType Int Float Boolean Function String List 4.6 listA.append(7) NoneType Int Float Boolean Function String List

(13)

4.7 listA NoneType Int Float Boolean Function String List 4.8 listA + listB NoneType Int Float Boolean Function String List 4.9 listB.sort() listB.pop() NoneType Int Float Boolean Function String List 4.10 listB.count('a') NoneType

(14)

4.11 listB.remove('a') NoneType Int Float Boolean Function String List 4.12 listA.extend([4, 1, 6, 3, 4]) NoneType Int Float Boolean Function String List 4.13 listA.count(4) NoneType Int Float Boolean Function String List 4.14 listA.index(1) NoneType Int Float Boolean Function String List

(15)

4.15 listA.pop(4) NoneType Int Float Boolean Function String List 4.16 listA.reverse() NoneType Int Float Boolean Function String List 4.17 listA NoneType Int Float Boolean Function String Tuple List

(16)

Problema 5.

Aquí está el código para una función applyToEach:

def applyToEach(L, f): for i in range(len(L)): L[i] = f(L[i])

Asumiendo que:

testList = [1, -4, 8, -9]

Para cada una de las siguientes preguntas (que se puede suponer es evaluada de forma independiente de las preguntas anteriores, por lo que testlist tiene el valor indicado), proporcionar una expresión utilizando applyToEach, de modo que después de la evaluación testList tenemos el valor indicado. Puede que sea necesario escribir un procedimiento simple en cada pregunta para ayudar con este proceso.

Pregunta ejemplo:

>>> print testList [5, -20, 40, -45]

Solución para la pregunta ejemplo:

def timesFive(a): return a * 5 applyToEach(testList, timesFive) 5.1 >>> print testList [1, 4, 8, 9]

# Escriba a continuación su código

5.2

>>> print testList [2, -3, 9, -8]

(17)

5.3

>>> print testList [1, 16, 64, 81]

# Escriba a continuación su código

Problema 6.

A continuación está una pieza diferente del código para trabajar con listas:

def applyEachTo(L, x): result = []

for i in range(len(L)): result.append(L[i](x)) return result

(18)

Para cada una de las siguientes funciones, indica que valor es el obtenido. Si cree que el resultado será un error al ejecutar el código, escriba la palabra 'error'

6.1

applyEachTo([inc, square, halve, abs], -3)

6.2

applyEachTo([inc, square, halve, abs], 3.0)

6.3

Figure

Actualización...

Related subjects :