Ejercicio 02 — Escribe max_de_dos(a, b) que devuelva el mayor
Dificultad: verde · Módulo 04 (Funciones)
Enunciado
Escribe max_de_dos(a, b) que devuelva el mayor. Pide dos numeros e imprime el mayor (sin usar max()).
Cómo se resuelve
Una función puede recibir varios parámetros y tener más de un return: el primero que se ejecuta corta la función y entrega su valor.
def max_de_dos(a, b):— dos parámetros separados por coma. Al llamarmax_de_dos(a, b)los valores se emparejan por posición: el primer argumento va aa, el segundo ab.if a >= b: return a— si la condición se cumple,return adevuelve ese valor y sale de la función de inmediato; nada de lo que venga después se ejecuta.return b— no necesita unelse. Si elifno se cumplió, el flujo llega hasta aquí de forma natural y devuelveb. Esto se llama “early return” y evita anidar; es un patrón muy común en Python.- El enunciado pide no usar
max(): la gracia es escribir tú la lógica de comparación en vez de apoyarte en la función built-in.
Trampa habitual: pensar que hace falta else. Como cada return sale de la función, tras el if ya solo puede quedar el caso contrario, así que un return b suelto basta. Otra trampa: usar > en vez de >=; con >= cubres el empate a == b y devuelves a, que es correcto porque es igual de “mayor”.
Para practicar — cópialo y complétalo
Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.
# Curso de Python — Modulo 04: Funciones
# Ejercicio 02 — PRACTICA (rellena los TODO)
# Enunciado: Escribe max_de_dos(a, b) que devuelva el mayor. Pide dos numeros e imprime el mayor (sin usar max()).
# Dificultad: verde
# Ejecutar: python3 ej02_practica.py
def max_de_dos(a, b):
"""Devuelve el mayor de dos numeros sin usar la funcion built-in max()."""
# TODO: usa if/else (o solo if con dos return) para comparar a y b
# TODO: devuelve el que sea mayor
pass
# TODO: pide dos numeros al usuario (dos llamadas a int(input(...)))
a = None # reemplaza None
b = None # reemplaza None
# TODO: llama a max_de_dos(a, b) y guarda el resultado en mayor
mayor = None # reemplaza None
# TODO: imprime con f-string: "El mayor de <a> y <b> es: <mayor>"Solución — cópiala y ejecútala
# Curso de Python — Modulo 04: Funciones
# Ejercicio 02 — MODELO (resuelto)
# Enunciado: Escribe max_de_dos(a, b) que devuelva el mayor. Pide dos numeros e imprime el mayor (sin usar max()).
# Dificultad: verde
# Ejecutar: python3 ej02_modelo.py
def max_de_dos(a, b):
"""Devuelve el mayor de dos numeros sin usar la funcion built-in max()."""
if a >= b:
return a
return b
a = int(input("Introduce el primer numero: "))
b = int(input("Introduce el segundo numero: "))
mayor = max_de_dos(a, b)
print(f"El mayor de {a} y {b} es: {mayor}")Cómo usarlo
Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.