sábado, 13 de marzo de 2021

Varias funciones

 

"""
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
Tiene un entradaUsuario=int(input("Ingrese código: ")) porque el imput devuelve cadena,
hay que pasarlo a entero.
Dale a enter después de ingresar el número
W3sc.......♡♡♡♡
"""





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))




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")

árboles de decisión_ BLOQUE 3 curso Cefo. Inteligencia_artificial para la sociedad

 https://app.diagrams.net/          --------->           Es draw.io, pones  draw.io en buscador, es bueno y fácil Tienes que tener cuenta...