sábado, 13 de marzo de 2021

Varias funciones_ejer 4

En programación, buscador de aplicaciones de LINUX, abajo,  buscamos un editor de texto plano: GEANY  (Yo) O bluefish 2.2.12 (mr) y  guardad el ejercicio  con extensión.py (wal)

o si está GEDIT







"""
Ejercicio con varias funciones
Puedes comentar algunas funciones con # para ver como se ejecuta el programa
ingresa 1 para dia y dos para noche en la ultima función

DICTAR:

Tiene un entradaUsuario=int(input("Ingrese código: ")) porque el imput devuelve cadena,

hay que pasarlo a entero.

parámetro de la función saludo: (opcional) Saludo que se va a dar, por defecto es : Que tenga buen día

Dale a enter después de ingresar el número

Detalle importante:

En Python, en cuanto se ejecuta un return, la función termina inmediatamente y se sale de ella. No se evalúa nada más dentro de esa función.

Una función puede tener varios return, pero solo uno se ejecuta en cada llamada.

W3sch.......♡♡♡♡

Dictr_abaj

M_r

"""


def saludo(nombre,apellido,saludo="Que tenga buen día"):
print("Función de saludo")
print(saludo+" "+nombre+" "+apellido )


def generaSaludo(nombre, apellido, saludo="Que tenga buen día"):
"""
:param nombre: Nombre de la person
:param apellido: Apellido de la persona
:param saludo: (opcional) Saludo que se va a dar, por defecto es : Que tenga buen día
:return:
"""
saludoGenerado=saludo + " " + nombre + " " + apellido
return(saludoGenerado)

# dia_noche_mal: Funcion con mas de un return: Rompe estructura de función.
# SI bien, ejecuta correctamente, no es bueno desde el punto de vista de legibilidad.
def dia_noche_mal(cod):
if cod==1:
return("Es de dia")
else:
return("Es de noche")


# dia_noche_bien: Solo un return: Estructura de funcion intacta.

def dia_noche_bien(cod):
valorRetorno="Parámetro incorrecto: 1 para dia y 2 para noche"

if cod==1:
valorRetorno="Es de dia"
elif cod==2:
valorRetorno="Es de noche"
return (valorRetorno)




# --- Aqui acaba la definición de funciones

# main


saludo("Tomás", "Carballo","Muy buenas")

saludo("Josefa", "Prieto","Adiós")

saludo("Monica", "Robledal")

saludoCLiente=generaSaludo("Julio","Miele","Muchas gracias")

print(saludoCLiente)

print(dia_noche_mal(0))

entradaUsuario=int(input("Ingrese código: "))

print(dia_noche_bien(entradaUsuario))



"""

Exactamente: 👌

✔️ Definiciones correctas

🔹 Parámetros

Son las variables que se definen en la función y reciben valores cuando la función se ejecuta:

def generaSaludo(nombre, apellido, saludo="Que tenga buen día"):

👉 Aquí:

  • nombre

  • apellido

  • saludo
    son parámetros de la función.


🔹 Argumentos

Son los valores reales que se pasan a la función cuando la llamamos:

generaSaludo("Julio", "Miele", "Muchas gracias")

👉 Aquí:

  • "Julio"

  • "Miele"

  • "Muchas gracias"
    son argumentos.


🧠 Frase clave:

Los parámetros se definen, los argumentos se envían.

O también:

  • Parámetros → van en la definición de la función

  • Argumentos → van en la llamada a la función





Ahora + difícil, DICT_R

Explicación saludoGenerado:

  • saludoGenerado se define dentro de la función, por lo tanto su ámbito (scope) es local a esa función.
    Una vez que la función termina, esa variable desaparece del contexto externo.
    Por eso, no puedes acceder a saludoGenerado fuera de la función.

Solución correcta:

Para usar el valor fuera de la función, debes capturar lo que devuelve el return:


saludoCLiente=generaSaludo("Julio","Miele","Muchas gracias")

print(saludoCLiente)

O si quieres directamente imprimirlo:


print(generaSaludo("Julio","Miele","Muchas gracias")
"""

Microbit

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