sábado, 13 de marzo de 2021

Ejercicio 6 _ejemplos interesantes de funciones_empezar con funciones_ 8 agosto 2016 parte 2 __%marcador de posición_sustitución

"""

ejer2Codecademy 8 agosto 2016 Funciones (parte 2)

DICT o exponer en aula virtual

Para principiantes:

%d marca el lugar donde Python va a poner un número entero dentro del texto.

Un poco de contexto extra :

En esta línea:

print("%d a la %d potencia es %d." % (base, exponente, resultado))
  • El string tiene tres %d

  • La tupla (base, exponente, resultado) tiene tres valores

  • Python los reemplaza en orden

Es decir:

  • primer %dbase

  • segundo %dexponente

  • tercer %dresultado

Nota didáctica útil

  • %d se usa para enteros

  • %f para decimales

  • %s para 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 """ ... """

def spam(): """ Esta funcion imprime la palabra Huevos!"""

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:

help(spam)

o

print(spam.__doc__)

👉 O sea, Python sí usa esa información, no la ignora.


2️⃣ Las líneas que empiezan con #

# Dentro de una función , un comentario con triple comilla se llama "docstring" # y cumple con otro objetivo además de ser un comentario

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?

  1. 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

  2. == 0

    • Comprueba si el resto es cero.

    • Es decir: pregunta
      👉 “¿Este número es divisible entre 3?”

  3. if numero % 3 == 0:

    • Si el número sí es divisible entre 3, se ejecuta lo que está debajo.

  4. return cubo(numero)

    • cubo(numero) es una función que calcula el cubo del número
      (por ejemplo: 4³ = 4 × 4 × 4).

    • 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:

numero = 6
  • 6 % 3 == 0 → ✅ verdadero

  • Se calcula cubo(6)6 × 6 × 6 = 216

  • El programa devuelve 216

Si:

numero = 5
  • 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 llamada p que recibe un número.

  • ret = 0 → crea una variable ret que 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, entonces ret pasa a valer el número dividido entre 3.

  • return ret → devuelve el valor de ret al lugar donde se llamó la función.

En palabras simples:

“La función p toma 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

resultado = 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:

Resultado 1 : 101.00

3️⃣ Segundo cálculo: p(2) + 150

resultado = p(2) + 150
  • Llamamos a p(2):

    • 2 % 3 == 0 ❌ → no divisible entre 3

    • ret sigue siendo 0

  • Luego sumamos 150:

    • 0 + 150 = 150.0

  • Se imprime:

Resultado 2 : 150.00

4️⃣ Resumen visual de la función

numerodivisible entre 3?ret devuelto
31.0
2No0

5️⃣ Conceptos importantes 

  1. % → resto de la división

  2. if → condición, “solo haz esto si…”

  3. return → devuelve un valor de la función

  4. .2f → imprime el número con 2 decimales


"""
     

Microbit

  Proyecto Sensores utilizados Funcionamiento Alarma de Caja Fuerte Acelerómetro Si alguien mueve la caja, la Micro:bit detecta la inclinaci...