"""
ejer2Codecademy 8 agosto 2016 Funciones (parte 2)
DICT o exponer en aula virtual
Para principiantes:
%dmarca el lugar donde Python va a poner un número entero dentro del texto.
Un poco de contexto extra :
En esta línea:
-
El string tiene tres
%d -
La tupla
(base, exponente, resultado)tiene tres valores -
Python los reemplaza en orden
Es decir:
-
primer
%d→base -
segundo
%d→exponente -
tercer
%d→resultado
Nota didáctica útil
-
%dse usa para enteros -
%fpara decimales -
%spara texto
Este estilo de formateo es válido y muy usado para aprender.
El
%es un comando de sustitución: le dice a Python que reemplace los marcadores (%d) por los valores que vienen después.
O un poquito más completo:
El
%sirve para sustituir partes del texto por valores de variables.
Técnicamente, esto se llama formateo de strings, pero por ahora lo vamos a pensar como una sustitución.
Eso es excelente pedagogía: primero el concepto claro, después el nombre formal.
Mini resumen:
-
%d→ lugar donde va un número entero -
%→ comando de sustitución -
(base, exponente, resultado)→ valores que se van a insertar
Otra cosa_ejer 1 de aquí:
1️⃣ El texto entre triple comillas """ ... """
Eso NO es un comentario normal.
Se llama docstring (documentation string).
🔹 ¿Para qué sirve?
-
Documentar qué hace la función
-
Python la guarda y se puede consultar después
Por ejemplo:
o
👉 O sea, Python sí usa esa información, no la ignora.
2️⃣ Las líneas que empiezan con #
Esto sí son comentarios normales:
-
Solo sirven para que los humanos lean el código
-
Python los ignora completamente
🔑 Entonces, ¿por qué dice que """ cumple “otro objetivo”?
Porque el texto entre triple comillas:
✔ No solo “comenta”
✔ También documenta oficialmente la función
✔ Puede verse con help()
✔ Puede usarse en documentación automática
Un comentario con # no puede hacer eso.
"""
#¡Definí tu función `spam`
def spam():
""" Esta funcion imprime la palabra Huevos!"""
# Dentro de una función , un comentario con triple comilla se llama "docstring" y cumple con otro
# objetivo ademas de ser un comentario
print ("Huevos!")
# Definí tu función `spam` arriba de esta línea.
spam() #al llamar a una función no se debe poner espacio antes del paréntesis
#ejer 3Codecademy
def potencia(base,exponente): # Agregá tus parámetros acá.
resultado = base**exponente
print ("%d a la %d potencia es %d." % (base, exponente, resultado))
potencia(37,4) # Agregá tus parámetros acá.
# ejer6Codecademy"""🧠 ¿Qué hace este código?
-
numero % 3
-
El símbolo % significa resto de una división.
-
Por ejemplo:
-
9 % 3 = 0 → porque 9 se divide exactamente entre 3
-
10 % 3 = 1 → sobra 1
-
== 0
-
Comprueba si el resto es cero.
-
Es decir: pregunta
👉 “¿Este número es divisible entre 3?”
-
if numero % 3 == 0:
-
Si el número sí es divisible entre 3, se ejecuta lo que está debajo.
-
return cubo(numero)
-
cubo(numero) es una función que calcula el cubo del número
(por ejemplo: ).
-
return devuelve ese resultado.
📌 En palabras sencillas
Si el número se puede dividir entre 3 sin que sobre nada, el programa devuelve su cubo.
✏️ Ejemplo práctico
Si:
-
6 % 3 == 0 → ✅ verdadero
-
Se calcula cubo(6) → 6 × 6 × 6 = 216
-
El programa devuelve 216
Si:
-
5 % 3 == 0 → ❌ falso
-
No se ejecuta el return
"""
def cubo(numero):
""" Función cubo(float or int numero) --> float/int
Devuelve el parámetro numero elevado al cubo
ATENCION: Parámetro obligatorio: no tiene valor por
defecto
"""
return (numero**3)
def por_tres(numero):
if(numero%3==0):
return(cubo(numero))
else:
return(False)
print (por_tres(22))
#ejemplo Reducir complejidad en las funciones para reducir el número de ciclos usados por el procesador para ejecutar # Explicación_paso a paso abajo
def p(numero):
ret=0
if(numero%3==0):
ret=numero/3
return(ret)
resultado=0
resultado = p(3)+100
print ("Resultado 1 : %.2f" % resultado)
resultado = p(2)+150
print ("Resultado 2 : %.2f" % resultado)
"""🧩 Explicación_paso a paso
1️⃣ La función p(numero)
-
def p(numero):→ define una función llamadapque recibe un número. -
ret = 0→ crea una variableretque empieza valiendo 0. -
if(numero % 3 == 0):→ pregunta: “¿el número se puede dividir entre 3 sin que sobre nada?” -
ret = numero / 3→ si el número es divisible entre 3, entoncesretpasa a valer el número dividido entre 3. -
return ret→ devuelve el valor deretal lugar donde se llamó la función.
En palabras simples:
“La función
ptoma un número y devuelve un tercio de ese número si es divisible entre 3, y 0 si no lo es.”
2️⃣ Primer cálculo: p(3) + 100
-
Llamamos a
p(3):-
3 % 3 == 0✅ → divisible entre 3 -
ret = 3 / 3 = 1.0
-
-
Luego sumamos
100:-
1.0 + 100 = 101.0
-
-
Se imprime con 2 decimales:
3️⃣ Segundo cálculo: p(2) + 150
-
Llamamos a
p(2):-
2 % 3 == 0❌ → no divisible entre 3 -
retsigue siendo 0
-
-
Luego sumamos
150:-
0 + 150 = 150.0
-
-
Se imprime:
4️⃣ Resumen visual de la función
numero | divisible entre 3? | ret devuelto |
|---|---|---|
| 3 | Sí | 1.0 |
| 2 | No | 0 |
5️⃣ Conceptos importantes
-
%→ resto de la división -
if→ condición, “solo haz esto si…” -
return→ devuelve un valor de la función -
.2f→ imprime el número con 2 decimales