No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Funciones: return

12/44
Recursos

Aportes 52

Preguntas 11

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Hice una Calculadora en Python utilizando lo aprendido
acá el código:

def calculator(num_1, num_2, op):
  result = 0

  if op == "+":
    result = num_1 + num_2

  elif op == "-":
    result = num_1 - num_2

  elif op == "*":
    result = num_1 * num_2

  elif op == "/":
    result = num_1 / num_2

  print(f"{num_1} {op} {num_2} = {result}")

if __name__ == '__main__':
  list_op = ("+", "-", "*", "/")
  op = str(input(f'choose operator with symbol {list_op}: '))
  num_1 = int(input('Choose number: '))
  num_2 = int(input('Choose other number: '))
  calculator(num_1, num_2, op)

Una aclaración que creo que no se ha hecho en el curso es que cuando se establece un range el ultimo número no se toma, es decir en

range(1, 10) 

solo se recorren los números del 1 al 9, si se desea incluir el 10 basta con establecer

range(1, 11) 

De igual manera para que la función sum_with_range tome el último digito basta con agregar +1 así:

def sum_with_range(min, max):
  sum = 0
  for x in range(min, max+1):
    sum += x
  print(sum)

Una función que recibe dos valores y hace con ellos las cuatro operaciones básicas.

<def operaciones(a,b):
  multiplica = (a*b)
  suma = (a+b)
  resta = (a-b)
  divide = (a/b)
  
  print ("multiplicados ", multiplica)
  print ("sumandos ",suma)
  print ("restados ", resta)
  print ("divididos", divide)

if __name__=="__main__":
  
  variable_1 = int(input("ingresa un numeros enteros: "))
  variable_2 = int(input("ingresa otro numero entero: "))
  
  operaciones(variable_1, variable_2)> 

En Python, return es una palabra clave utilizada para finalizar una función y devolver un valor al llamador de la función. Cuando se encuentra la sentencia return en una función, la ejecución de la función se detiene y se devuelve el valor indicado.

Por ejemplo, considera la siguiente función que toma dos argumentos y los suma:

python
Copy code

def suma(a, b):
    resultado = a + b
    return resultado

En esta función, la sentenci
a return se utiliza para devolver el resultado de la suma de a y b. Al llamar a la función suma con dos argumentos, se devolverá el resultado de la suma:

python
Copy code

>>> resultado = suma(3, 4)
>>> print(resultado)
7

Es importante tener en cuenta que una función puede contener varias sentencias return. Si se encuentra más de una sentencia return, solo se ejecutará la primera que se encuentre.
OpenAI

Para los que les gusten las formulas matematicas, la suma de numeros consecutivos empezando desde el 1 se puede aplicar con la formula:
x*(x+1)/2

Las formulas se pueden aplicar facilmente a una funcion.
Sin olvidar que la suma que hay entre los rangos del 50 al 100 es lo mismo que la suma de los numeros del 1 al 100 menos la suma de los numeros del 1 al 49 entonces podriamos hacer lo siguiente:

def consecutivos(n):
  print(n*(n+1)/2)
  return n*(n+1)/2

def formula(n,y):
  n-=1
  print( consecutivos(y) - consecutivos(n) )

formula(5, 7)

Os paso el siguiente link que seguro os gustara…
https://youtu.be/NcdsQaAAEAk

Aqui les dejo el capitulo Functions del libro A Byte of Python si quieren profundizar mas sobre las funciones de Python.

Comparto este material de apoyo

Hice un programa que recibe un texto y una cantidad y te regresa las palabras con ese número de caracteres.
Código:

print('**Busca palabras de cierta longitud**')


def palabras_con_x_caracteres(text, number):
  listTexto = text.split()
  lenWords = [word for word in listTexto if len(word) == number]
  return lenWords


print('coloque una frase e inmediatamente despues el numero de caracteres:')
text = input('Texto: ')
number = int(input('Digito: '))

lenWords = palabras_con_x_caracteres(text, number)
print(lenWords)
def sum_range(min,max):
  print( min , max )
  sum = 0
  for x in range(min,max):
    sum += x
  return sum
  

result = sum_range(1,10)
print(result)
result_2 = sum_range(result, result +10)
print(result_2)
sum_range(1,100)

IMPORTANTE

Cuando una función no se le coloca return, esta retorna None por defecto

Cuando estás sumando con un rango { range(a, b) }, recuerda que no se ejecuta la última iteración, en este caso sólo estás sumando hasta el 9. Si quieres sumar del 1 hasta 10, tedrías que ponerle un rango del 1 al 11 (1, 11)… O puedes definir en los parámetros de la función para que solicite 2 argumentos, uno para el numerio inicial y otro para el numero final del rango, y que automaticamente le sume uno al final, haciendola más comprensible y usable para el usuario! ^_^

Este es la función que hice para ejercitar un poco lo aprendido. Saludos! 😄

def suma_with_range(min, max):
  print(min, max)  # imprime los valos que se le asignan
  sum = 0
  for x in range(min, max):
    sum += x
  return sum


result = suma_with_range(1, 8)
print(result)
import random

x = random.randint(2, 5)
print(x)
result_2 = suma_with_range(result, result + x)
print(result_2 * x)

Hice un ejercicio utilizando return, es para el cálculo de la velocidad. También coloqué input para que el usuario coloque los datos iniciales. Este es mi código:

distancia = int(input('Cual es la distancia recorrida => '))
tiempo = int(input('en qué tiempo? => '))

def calculadora(distancia, tiempo):
  
  print(distancia, tiempo)
  velocidad = distancia / tiempo
  return(velocidad)

result = calculadora(distancia, tiempo)
print(result)
result_2 = calculadora(result * 6, 5)
print(result_2)

Para los que nos gusta mirar las deficiones contextuales decada función: print() sirve para mostrar un mensaje en la pantalla de una aplicación de consola, mientras que return se utiliza para establecer el resultado (o valor de retorno) de una función. Así, return es una operación mucho más genérica que print(), aunque solo puede usarse dentro de las funciones: no puede haber un return en cualquier otro lugar del código que no sea el interior de una función. print() solo puede usarse, naturalmente, en aplicaciones de consola, pues sirve únicamente para mostrar un mensaje en la consola (o terminal, línea de comandos, símbolo del sistema, etc.).

Yo me demoré meses en entender la funcionalidad de return en Python pero yo te lo resumo aqui:
Return es una palabra clave en Python que su funcionalidad es solo: “CONVERTIR UNA FUNCION REUTILIZABLE”.
Return tiene mayormente 3 funcionalidades.

  1. Reutilizar la funcion.
  2. Terminar una ejecucion.
  3. Devolver un valor.

Aclaracion: Cuando en python se habla de devolver, solo se refiere a “dar como resultado a.”

espero te ayude a entender su funcionalidad

Hola chicos!! hice un programa que Calcula la suma, el promedio, obtengo el máximo y el mínimo de calificaciones en una lista, usando funciones y return. Tarde un poco, pero lo importante es que aprendí un montón!

print('Calculo de promedio')

def home():
  list = []
  
  for i in range(0,5):
    print('Nota n', i+1)
    grade = int(input('ingresa nota: '))
    list.append(grade)
  
  total = suma(list)
  maximo, minimo = maxmin(list)
  
  print('La suma de la lista es:', total)
  print('El promedio de su lista es: ', total / len(list))
  print('El max de la lista es:', maximo)
  print('El min de su lista es: ', minimo)
  
def suma(list):
  suma = 0
  for i in range(5):
    suma += list[i]
  return suma
  
def maxmin(list):
  maximo = max(list)
  minimo = min(list)
  return maximo, minimo

home()

Hola!

Les comparto el código de la clase.

# Funciones: return

def sum_with_range(min, max):
  print("Range:", min, max)
  sum = 0
  for x in range(min, max):
    sum += x
  return sum

result = sum_with_range(1, 10)
print(result)

result_2 = sum_with_range(result, result + 10)
print(result_2)

Ya estoy trabajando en mis funciones para el juego de Piedra, Papel o Tijeras.

#Funcion para limpiar pantalla
def clean_screen():
    os.system("cls")
    
#Funcion para pausar la pantalla
def pause_screen():
    os.system("pause") 

#Funcion para obtener la eleccion del jugador
def player_choice():
    player_plays = input("¿Qué eliges? ").lower()
    while not player_plays in ('piedra', 'papel', 'tijeras'):
        print("POR FAVOR ELIGE UNA OPCIÓN VÁLIDA! \n")
        pause_screen()
        player_plays = input("¿Qué eliges? ").lower()
    return player_plays

#Funcion para obtener la eleccion de la computadora
def computer_choice():
    options = ('piedra', 'papel', 'tijeras')
    computer_chooses = random.choice(options)
    print(f"La computadora elige: {computer_chooses}")
    pause_screen()
    return computer_chooses

return sum # Retornar un valor, o múltiples variables

De acuerdo a lo que hasta ahora hemos avanzado, basado en la idea de Andres Cervantes. Calculadora

def calculator(num_1, num_2, op):
  result = 0

  if op == "+":
    result = num_1 + num_2

  elif op == "-":
    result = num_1 - num_2

  elif op == "*":
    result = num_1 * num_2

  elif op == "/":
    result = num_1 / num_2

  print(f"{num_1} {op} {num_2} = {result}")

if __name__ == '__main__':
    list_op = ("+", "-", "*", "/")
    
    while True:
        repeticion=input("Desea realizar una operacion? (Si/No)").lower()
        if(repeticion=="si"):
            while True:     
                op = str(input(f'choose operator with symbol {list_op}: '))
                if(op not in list_op):
                    print("Ingrese nuevamente, signo incorrecto")
                    continue
                else:
                    break
            num_1 = int(input('Choose number: '))
            num_2 = int(input('Choose other number: '))
            
            if(op=="/"):
                if(num_2==0):
                    print("No se puede realizar la operacion")
                    continue

            calculator(num_1, num_2, op)
        else:
            break
    print("Operacio finalizada")
""" function and return """
def sum_with_range(a, b):
  res = 0
  for i in range(a, b):
    res += i
  return res

result = sum_with_range(1, 101)
print(result)

Son muy geniales las funciones !

def sum_with_range(a,b):
sum = 0
for x in range(a,b):
sum+=x

return sum+b

result= sum_with_range(1,10)
print(result)

<code> 

Comparto este ejemplo:

# Crear una función  que reciba cómo parámetro un género musical, 
#la cual te recomiende escuchar una canción de dicho género musical.

# Parametro (genero)
#1. Rock
#2. Electronica
#3. Musica clasica
#4. Balada
#5. Salsa
#6. Bachata

#datos adicional --cancion recomendada

# funcion que recomienda una canción por genero musical y artista
def recomendar_cacion_por_genero(genero):
    artista=input(f'Escribe el nombre del artista musical del genero {genero}: ')
    artista=artista.lower()
    if genero== 'rock':   
        musica= recomendar_musica(artista)
        return musica 
    
    elif genero=='electronica':
        musica= recomendar_musica(artista)
        return musica
    
    elif genero=='musica clasica':
        musica= recomendar_musica(artista)
        return musica
    
    elif genero=='balada':
        musica= recomendar_musica(artista)
        return musica
    
    elif genero=='salsa':
        musica= recomendar_musica(artista)
        return musica
    
    elif genero=='bachata':
        musica= recomendar_musica(artista)
        return musica
    else:
        return 'No te puedo recomendar mas canciones'

# funcion que recomienda una canción de acuerdo al artista
def recomendar_musica(artista):
    if artista== 'mana':
            return 'Labios compartidos'
    elif artista=='miguel bose':
            return'Si tu no vuelves'
    elif artista=='andrea bocelli':
            return 'con te partiro'
    elif artista=='jose jose':
            return 'El triste'
    elif artista=='david guetta':
            return 'Turn me on - David guetta ft Nicky Minaj'
    elif artista=='niche':
            return 'Cali pachanguero'
    elif artista=='prince royce':
            return 'Darte un beso'
    else:
            return 'No te puedo recomendar mas canciones'

# EJECUCIÓN 
genero=input('Dime un genero musical: ')
genero=genero.lower()
resultado=recomendar_cacion_por_genero(genero)
print(resultado)


    

😃


def sum_with_range(min, max):  #parametros a recibir
  print(min, max)
  sum = 0
  for x in range(min, max):  #parametros a recibir
    sum += x  #suma lo recibido en los paramtros
    return sum  # retorna el resultado de esa operacion


result = sum_with_range(2, 5)  #parametros
print(result)
result_v2 = sum_with_range(result, result + 10)
print(result_v2)

def suma_rango ():
suma = 0
for x in range ( 1, 10 ):
suma +=x
print(suma)
suma_rango()

def rango (min , max):
print (min,max)
su = 0
for i in range (min , max):
su +=i
return su
result = rango(1,25)
print (result)

Acá realice una calculadora simple que acepta 2 dígitos para la suma, resta, multiplicación o división y en caso ingrese 0 en el segundo dígito, le pide que ingrese un número distinto, use while, tuplas, in, not in, if , input y la función:

def calculadora_simple(a,b,op):
    result = 0

    if op == "+":
        result = a+b
    if op == "-":
        result = a-b
    if op == "*":
        result = a*b
    if op == "/":
        result = a/b

    return result

var1 = float(input("Ingresa el primer número : "))
operacion = input("Ingresa el tipo de operación que desea usar(+,-,*,/) : ")
operadores = ("+","-","*","/")

while True:
    if operacion not in operadores:
        print("Operador inválido")
        operacion = input("Ingresa el tipo de operación que desea usar(+,-,*,/) : ")
    else:
        break

var2 = float(input("Ingresa el segundo número: "))

while True:
    if var2 == 0 or var2 == 0.0:
        var2 = float(input("Ingresa un número distinto de 0: "))
    else:
        break

final = calculadora_simple(var1,var2,operacion)

print("El resultado de",var1,operacion,var2,"es :",final)

Una función es un bloque de código que solo se ejecuta cuando se le llama. Puede pasar datos, conocidos como parámetros, a una función. Una función puede devolver datos como resultado. Crear una función En Python, una función se define usando la palabra clave def :

Acá va mi aporte usando la función my_print de la clase anterior :

La función my_print(texto) se ha modificado para que ahora devuelva el resultado multiplicado por 2. Esto se logra utilizando la instrucción return para devolver el valor calculado.

En la función suma(a, b), se calcula la suma de a y b y se almacena en la variable c. Luego, se llama a la función my_print© y se asigna el resultado devuelto a la variable resultado.

La instrucción return resultado devuelve el valor de resultado como resultado de la función suma().

En el programa principal, se llaman a la función suma() dos veces con diferentes argumentos y se asignan los resultados a las variables resultado1 y resultado2.

Por último, se imprime el valor de resultado1 y resultado2 utilizando la función print(), lo cual mostrará los resultados de las sumas multiplicados por 2.

#Definiendo la funcion con su parametro funcion(parametro)
def my_print(texto):
  print(texto*2)

def my_print(texto):
    return texto * 2

def suma(a, b):
    c = a + b
    resultado = my_print(c)
    return resultado

resultado1 = suma(4, 5)
print(resultado1)
resultado2 = suma(6, 12)
print(resultado2)

En resumen, el código define una función para calcular la suma de los números en un rango específico. Luego, se realiza una primera llamada a esta función con el rango del 1 al 10 y se guarda el resultado. Después, se realiza una segunda llamada a la función utilizando el resultado anterior como el nuevo rango mínimo y se le suma 10 para obtener el nuevo rango máximo. El resultado de esta segunda llamada se imprime en la consola

Super 🐍 lo importante es entender la lógica para saber aplicarla.

def sum_with_range(min, max):
  print(min, max)
  sum = 0
  for x in range(min, max):
    sum += x
  return sum

result = sum_with_range(1, 10)
print(result)
result_2 = sum_with_range(result, result + 51)
print(result_2)

la palabra clave “return” se utiliza dentro de una función para devolver un valor o conjunto de valores como resultado de la ejecución de la función. Una vez que se encuentra la instrucción “return” en una función, el flujo de control regresa a la parte del programa que llamó a la función.

import os

def sum(x, y):
    return x + y
  
def rest(x, y):
    return x - y
    
def multi(x, y):
    return x * y
    
def div(x, y):
    return x /y

def operation(option):
    x = float(input('Enter the number for x:\t'))
    y = float(input('Enter the number for y:\t'))
    
    match option:
            case 1:
                return sum(x, y)
            case 2:
                return rest(x, y)
            case 3:
                return multi(x, y)
            case 4:
                try:
                    return div(x, y)
                except ZeroDivisionError:
                    print('Zero division failed. Try again...')
            case _:
                print('Invalid option')
   


def main():    
    while True:
        os.system('clear') # linux / mac os 
        print('================================================================')
        print('\n1. Sum')
        print('\n2. Rest')
        print('\n3. Multi')
        print('\n4. Div')
        print('\n0. Finish')
        option = int(input('\nPlease enter your choice...\t'))
        
        if option != 0:
            print(f'Result is: {operation(option)}')    
            input('Press enter to continue...')
        else:
            break
        
main()

print(sum_with_range(5,10))

imprimirlo directo dentro de la funcion print tambien es posible

Tambien se pueden usar parametros nombrados, donde asignamos un valor desde los argumentos a su parametro correspondiente:

def fun(a,b):
	pass

fun(b=5,a=3)

normalmente a tomaria 5 y b 3, pero como los nombre se asignan de esa forma(los nombres deben ser exactamente iguales)

Hola!!! les comparto mi codigo espero ayude

'''
funct Return
'''


def jumpline():
  print('=' * 25)


# Codigo que me sume todos los numeros del 1 al 1=
jumpline()
sum = 0
for x in range(1, 11):
  sum += x
print(sum)  # 55



# Mismo ejemplo pero con una funcion para poder usarlo despues
def sum(min, max):
  jumpline()
  print(min, max)
  suma = 0
  for x in range(min, max):
    suma += x
  print(suma)
  


# Puedo invocar la funcion varias veces con distintos parametros
sum(1, 500)  # 124750
sum(1, 43)  # 903
sum(33, 95)  # 3937


# Las funciones pueden retornar un valor con return
def sum(min, max):
  jumpline()
  print(min, max)
  suma = 0
  for x in range(min, max):
    suma += x
  return suma
  

  # Ahora con el return suma, en la funcion queda guardada el resultado de suma, esperando ser usado o invocado en print
print(sum(1,23)) # 253

result = sum(1,5) # 10
print(result)

result_2 = sum(result, result + 10) # 145
print(result_2)

Versión resumida de calculadora en python.

def operacion(operacion):
    return eval(operacion)

resultado = operacion(input("Introduce la operación: "))
print(resultado)

siempre acompaños las clases, con videos o articulos externos, para aclarar mis dudas: https://www.youtube.com/watch?v=PipzeIdfu9k&t=165s

#Funciones con return

'''suma=0

for x in range(1,11):
    suma+=x
print(suma)

for x in range(20,101):
    suma+=x
print(suma)
'''
#Sin return
def suma_consecutiva_v1(minimo,maximo):
    print("Sin Return")
    print(minimo,maximo)
    suma=0
    for x in range(minimo,maximo+1 ):
        suma+=x
    print(suma)
 
#Con return
def suma_consecutiva_v2(minimo,maximo):
    print("Con Return")
    print(minimo,maximo)
    suma=0
    for x in range(minimo,maximo+1 ):
        suma+=x
    return suma

suma_consecutiva_v1(1,8)
resultado=suma_consecutiva_v2(1,8)
print(resultado)


<#Calcular el número entero mayor
def run():
    def bigger_number(A,B,C):
        if A >= B:
            if A >= C:
                print(f'El numero mayor es {A}')
            else:
                print(f'El numero mayor es {C}')
        else:
            if B >= C:
                print(f'El numero mayor es {B}')
            else:
                print(f'El numero mayor es {C}')
    
    A = int(input('Ingrese un número entero A: '))
    B = int(input('Ingrese un número entero B: '))
    C = int(input('Ingrese un número entero C: '))
    bigger_number(A,B,C)

if __name__ == '__main__':
    run()> 
#costo de la gasolina
# compra de la gasolina y costo x litro
# litros x costo de la gasolina
#Magna $21.87 pesos, Premium $23.92 pesos y Diésel $23.6 pesos

def costo_gas(litros):
	if tipo_gas=="1":
		mag=(litros * 21.87)
		print(round(mag,3))
		
	elif tipo_gas =="2":
		prem=(litros * 23.92)
		print(round(prem,3))
		
	elif tipo_gas == "3":
		diesel=(litros * 23.6)
		print(round(diesel,3))
		

tipo_gas=input("Seleccione el numero 1.- Magna $21.87, 2.- Premium $23.92 o 3.-Diesel $23.6? ")
litros=int(input("Digita cuantos litros quiere: "))
costo_gas(litros)

a = int (input("Ingrese valor a: "))
b = int (input("Ingrese valor b: "))

def func1 (a, b):
sum = 0
for i in range(a,b):
sum += i
#print (sum)
return sum

result = func1(a,b)
print (result)

result = func1(result +1 ,200 )
print (result)

Esto se empieza a poner interesante

Crear nueva lista

def sum_with_range(min, max):
  print(min,max)
  sum = 0
  for x in range(min, max):
    sum+=x
  return sum
# 1,2,3,4,5,6
result = sum_with_range(1, 10)
print(result)
result_2 = sum_with_range(result, result + 10)
print(result_2)

Funciones con Return

#-------------------Funciones con return--------------------

#crear un programa que sume todos los numeros del 1 al 10
sum = 0
for x in range(1,10):
  sum += x
print(sum)
--> 45

#crear una funcion que sume todos los numeros de un rango dado
def sum_with_range(min, max):
  sum = 0
  for i in range(min, max):
    sum += i
  print(sum)

sum_with_range(3, 9)
--> 33

#crear una funcion que retorne la suma de todos los numeros de un rango dado
def sum_with_range2(min, max):
  sum = 0
  for i in range(min, max):
    sum += i
  return sum

result = sum_with_range2(2, 8)
print(result)
--> 27

# utilizar el resultado de la funcion que retorna un valor en una funcion que no retorna un valor
sum_with_range(result, result + 3)
--> 84
def sum_with_range(min, max):
  print(f'Datos ingresados  min: {min} max: {max}')
  sum = 0
  for x in range(min, max):
    sum += x # sum = sum + x
  return sum

result = sum_with_range(1, 10)
print(result)
result_2 = sum_with_range(result, result + 10)
print(result_2)

Las funciones son PODER de código:

def sum_with_range(a,b):
  print(a,b)
  sum = 0
  
  for i in range(a,b):
    sum += i
  return sum
  
result_01 = sum_with_range(1,10)
print(result_01)
result_02 = sum_with_range(1,11)
print(result_02)
result_03 = sum_with_range(1,100)
print(result_03)