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
ResponderEliminarimport random
ResponderEliminarx = random.randrange(-10,10,1)
print('el numero es',x,'y su cuadrado es',x**2)
print('Programa Finalizado')
mucho más sencillo