Documente Academic
Documente Profesional
Documente Cultură
(1) La reutilización del código como función se puede usar una y otra vez para diferentes
parámetros y ahorrar tiempo para escribir código. (2) Facilidad de depuración ya que la longitud
del código es menor que si escribimos todas las instrucciones línea por línea y es menos complejo.
Función corporal: #fuction body y la función se llama (invoca) al pasar el valor de los parámetros
en la función
6.3 ¿Se puede simplificar la función máx en el Listado 6.1 mediante el uso de una expresión
condicional?
6.4 ¿Verdadero o falso? Una llamada a una función None es siempre una declaración en sí misma,
pero una llamada a una función que devuelve valor siempre es un componente de una expresión.
Respuesta:
El primer componente es verdadero, dada una función que no devuelve ninguna simplemente
ingresándola en un compilador de Python que se pasa.
Lo mismo ocurre con una función que docs devuelve un valor, por ejemplo, dada una función que
devuelve un valor, la única diferencia es que Python no captura el valor. Por lo tanto la segunda
afirmación es falsa.
6.5 ¿Puede tener una declaración return en una función None? ¿La instrucción return en la
siguiente función causa errores de sintaxis?
print (x + y)
return
Respuesta:
a. Si puede tener una declaración de retorno en ninguna función, actúa como salida
b. el retorno en este código no produce ningún error de sintaxis de nuevo, solo actúa como salida
y la función aún se habría cerrado incluso si no hubiéramos puesto el retorno al final
6 Defina los términos encabezado de función, parámetro y argumento.
El encabezado comienza con la palabra clave def seguida del nombre y los parámetros de la
función y termina con dos puntos, esto básicamente proporciona la inicialización o la declaración
de la función.
6.7 Escriba encabezados de función para las siguientes funciones (e indique si la función
devuelve un valor):
■ Calcular el pago mensual, dado el monto del préstamo, el número de años y la tasa de interés
anual.
Respuesta:
5 smallest = n1
6 si n2 < smallest:
7 smallest = n2
Respuesta:
Ninguno, ya que no hay una declaración de retorno en la función min, que devolverá n1 o n2 como
el número más pequeño
smallest = n1
if n2 < smallest:
smallest = n2
Respuesta:
Los argumentos posicionales requieren que los argumentos se pasen en el mismo orden que
sus parámetros respectivos, mientras que en el caso de los argumentos de palabras clave,
los valores de los parámetros se pasan en formato parámetro = valor sin estar en ningún
orden en particular
f (1, p2 = 3, 4, p4 = 4)
f (p1 = 1, p2 = 3, 4, p4 = 4)
f (p1 = 1, p2 = 3, p3 = 4, p4 = 4)
f (p4 = 1, p2 = 3, p3 = 4, p1 = 4)
Respuesta:
Correcto: 1,4,5
Incorrecto: 2,3 porque los argumentos posicionales no pueden aparecer después de los
argumentos de palabras clave
main()
(b)
def main():
i = 1
while i <= 6:
print(function1(i, 2))
i += 1
def main():
# Initialize times
times = 3
print("Before the call, variable",
"times is", times)
(d)
def main():
i = 0
while i <= 4:
function1(i)
i += 1
print("i is", i)
def function1(i):
line = " "
while i >= 1:
if i % 3 != 0:
line += str(i) + " "
i -= 1
print(line)
main()
6.16 Para (a) en la pregunta anterior, muestre el contenido de la pila justo antes que la
función max se invoca, al igual que se ingresa max, justo antes de que se devuelva max, y
justo después que se devuelve max.
Respuesta:
Contenido de la pila justo antes de que se invoque la función max contenido de la pila, así como max
es el valor ingresado value1 = 1, value2 = 2, ans max = 0. El contenido de la pila justo antes de max
se devuelve value1 = 1, value2 = 2 , ans max = 2. El contenido de la pila justo después de que se
devuelve max. Se vacía la pila.
x = 2
y = 4
function(x)
print(x)
print(y)
(b)
def f(x, y = 1, z = 2):
return x + y + z
print(f(1, 1, 1))
print(f(y = 1, x = 2, z = 3))
print(f(1, z = 3))
Respuesta:
(a) 2
3.4
2
4
(b) 3
6
5
Respuesta:
error: linea 8 y linea 9:
x, y se definen dentro de la función, por lo que son variables locales que se usarán solo
dentro de la función para que funcionen fuera de la función que necesitaban definirse
fuera de la función lo que llamamos variables globales
6.19 ¿Se puede ejecutar el siguiente código? Si es así, ¿qué da la impresión?
x = 10
if x < 0:
y = -1
else:
y = 1
print("y is", y)
Respuesta:
Resultado:
1 2 # Valor predeterminado tanto para w como para h
5 2 # Valor predeterminado para h y nuevo para w
1 24 # Valor predeterminado para w y nuevo para h
4 5 #nuevo valor para w y h
1 def main():
2 nPrintln(5)
3
4 def nPrintln(message = "Welcome to Python!", n):
5 for i in range(n):
6 print(message)
7
8 main() # Llamada a función principal
Respuesta:
El error es un argumento no predeterminado, seguido del argumento predeterminado. El
valor "Bienvenido a python" se debe pasar en la función nprintln como nprintln
("welcometopython!", 5)
6.22 ¿Qué sucede si define dos funciones en un módulo que tienen el mismo nombre?
Respuesta:
Las instrucciones y los parámetros de la función escrita anterior o anterior serán
reemplazados por la siguiente función escrita.
6.23 ¿Puede una función devolver múltiples valores? Muestre la impresión del siguiente
código:
Respuesta:
Imprimir:
14 4 45 1.80
6.24 Escriba una expresión que devuelva un entero aleatorio entre 34 y 55, inclusive.
Respuesta:
import random
random.randint(34,55)
6.25 Escriba una expresión que devuelva un carácter aleatorio entre B y M, inclusive.
Respuesta:
import random
chr(random.randint(ord('B'),ord('M')))
6.26 Escriba una expresión que devuelva un número aleatorio entre 6.5 y 56.5 (excluyendo
56.5).
Respuesta:
La función random.random () proporciona un número real entre 0 y 1. Tenemos que usar esta
definición para resolver nuestro problema, ya que no hay ninguna opción de exclusión en las
funciones aleatorias mencionadas en el libro.
importar al azar
imprimir (x)
6.27 Escribe una expresión que devuelva una letra minúscula al azar.
Respuesta:
en asci ord ('a') es 97 y el de 'z' es 122, por lo que cualquier carácter en minúscula puede ser
generado aleatoriamente por