Reto: Funciones
Crear una función que calcule el cuadrado de un número. Probar la función con los números entre -10 y +10. Crear otra función que lo único que hace es imprimir al final la frase “Programa finalizado”. Ejecutar ambas funciones.
Método 1
Inicializamos la variablez
en -10.Disponemos de dos funciones que se ejecutan con las dos últimas líneas del programa.
La sentencia
print(cuadrado(z))
llama a la función cuadrado y le pasa el valor -10.La función cuadrado comienza inicializando la lista
resultado
como lista vacía.Nos metemos en un bucle
while
que se repetirá hasta que z
sea menor que 11.Dentro del bucle lo que hacemos es añadir a la lista, con
append
, los cuadrados de z
.Incrementamos
z
de uno en uno con z+=1
.La función concluye con un
return
que devuelve la lista resultado
ya completa, con todos los cuadrados de los números por los que ha variado z
, que van entre -10 y +10.La última línea del código llama a la función
fin()
, que no lleva argumento.Esta función no contiene un
return
y lo que hace únicamente es imprimir la frase 'Programa finalizado'.z= -10
def cuadrado(z):
resultado=[]
while z<11:
resultado.append(z**2)
z+=1
return(resultado)
def fin():
print('Programa finalizado')
print(cuadrado(z))
fin()
Método 2
Inicializamos la variablez
en -10.Disponemos de dos funciones. En este caso, existe un
while
que está fuera de la función y que la llama reiteradamente enviándole los valores de z
que varían entre -10 y +10. Estos valores son recogidos por la función cuadrado que usa como argumento la variable n
. Hemos querido llamar con otro nombre a la variable de la función para que veamos que no es necesario volver a llamarla z
.La función cuadrado retorna el cuadrado de
z
.Dentro del bucle
while
se encuentra el print
que imprime el valor que devuelve la función cuadrado.La última línea de código llama a la función
fin()
que en este caso retorna la frase 'Programa finalizado'. Para mostrar una forma de trabajar diferente respecto al método anterior, en esta ocasión, el print
no se encuentra en la función sino en la última línea del programa.z=-10
def cuadrado(n):
y=n**2
return(y)
def fin():
x=('Programa finalizado')
return(x)
while z<11:
print(cuadrado(z))
z+=1
print(fin())
Método 3
Las dos últimas líneas de código ejecutan las dos funciones que existen. A la funcióncuadrado
le pasamos el argumento z=10
. Inicializamos la lista resultado
como una lista vacía. Nos metemos en un bucle for
que recorre los valores entre -z
y +z
con range
. Calculamos el cuadrado de la variable auxiliar i
y lo vamos añadiendo a la lista con append
. Retornamos el resultado que se imprimirá en pantalla.Finalmente llamamos a la función fin que imprime 'Programa finalizado'.
def cuadrado(z):
resultado=[]
for i in range(-z,z+1):
resultado.append(i**2)
return(resultado)
def fin():
print('Programa finalizado')
print(cuadrado(10))
fin()
Método 4
En este caso la funcióncuadrado
únicamente nos retorna el cuadrado del argumento que le pasemos y el bucle for
se encuentra fuera de la función. Lo que hace el bucle es llamar a la función de forma reiterada pesándola los valores del argumento que varían entre -10 y +10.La función
fin
no imprime nada, simplemente retorna su frase y ésta es impresa por la última línea de código.def cuadrado(x):
return x**2
for i in range(-10,11):
print(cuadrado(i))
def fin():
return 'Programa finalizado'
print(fin())
Hola, estoy empezando en esto. Comparto una idea que me surgió, es una variante más.
ResponderEliminardef sqr():
for x in range(-10,11): #probando en el intervalo pedido
print(x," elevado al cuadrado da ",x**2)
def end():
print("Programa terminado")
sqr()
end()
buena
ResponderEliminar