Funciones - Soluciones (2)

Se ofrecen a continuación unas posibles soluciones de los ejercicios (2) de funciones.

Nota: En algunas soluciones los nombres de los parámetros se han elegido a propósito distintos de los nombres de las variables en el programa principal, pero en otros se han elegido los mismos nombres. Esa elección no afecta al resultado de los programas, por lo que se podría haber hecho al revés en cada caso.

Funciones (2) - 1-1

def rectangulo(ancho, alto):
    for i in range(alto):
        for j in range(ancho):
            print("* ", end="")
        print()

anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
rectangulo(anchura, altura)

Funciones (2) - 1-2

def rectangulo(ancho, alto, letra):
    for i in range(alto):
        for j in range(ancho):
            print(letra, end=" ")
        print()

anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
caracter = input("Carácter a utilizar: ")
rectangulo(anchura, altura, caracter)

Funciones (2) - 2-1

def creciente(ancho):
    for i in range(1, ancho + 1):
        for j in range(i):
            print("* ", end="")
        print()

def decreciente(ancho):
    for i in range(1, ancho):
        for j in range(ancho - i):
            print("* ", end="")
        print()

anchura = int(input("Anchura del triángulo: "))
creciente(anchura)
decreciente(anchura)

Funciones (2) - 2-2

def creciente(ancho):
    for i in range(1, ancho + 1):
        for j in range(i):
            print("* ", end="")
        print()

def decreciente(ancho):
    for i in range(1, ancho):
        for j in range(ancho - i):
            print("* ", end="")
        print()

anchura = int(input("Anchura del triángulo: "))
for i in range(anchura, 0, -1):
    creciente(i)
    decreciente(i)

Funciones (2) - 3-1

def es_bisiesto(t):
    return t % 400 == 0 or (t % 100 != 0 and t % 4 == 0)

print("Comprobador de años bisiestos")
fecha = int(input("Escriba un año y le diré si es bisiesto: "))
if es_bisiesto(fecha):
    print(f"El año {fecha} es un año bisiesto.")
else:
    print(f"El año {fecha} no es un año bisiesto.")

Funciones (2) - 3-2

def es_bisiesto(t):
    return t % 400 == 0 or (t % 100 != 0 and t % 4 == 0)

print("Contador de años bisiestos")
inicio = int(input("Escriba un año: "))
final = int(input(f"Escriba otro año posterior a {inicio}: "))
while final < inicio:
    final = int(input(f"{final} no es mayor que {inicio}. Inténtelo de nuevo: "))

contador = 0
for i in range(inicio, final + 1):
    if es_bisiesto(i):
        contador += 1

print(f"De {inicio} a {final} hay {final - inicio + 1} años, {contador} de ellos bisiestos.")

Funciones (2) - 4-1

def crea_lista():
    numero = int(input("Dígame cuántas palabras tiene la lista: "))
    lista = []
    for i in range(numero):
        palabra = input(f"Dígame la palabra {i + 1}: ")
        lista += [palabra]
    return lista

print(f"La lista creada es: {crea_lista()}")

Funciones (2) - 4-2

def crea_lista(contador):
    numero = int(input(f"Dígame cuántas palabras tiene la lista {contador}: "))
    lista = []
    for i in range(numero):
        palabra = input(f"Dígame la palabra {i + 1}: ")
        lista += [palabra]
    return lista

print("Generador de listas")
numero = int(input("¿Cuántas listas quiere escribir? "))
for i in range(1, numero + 1):
    print(f"La lista {i} es: {crea_lista(i)}")

Funciones (2) - 4-3

def crea_lista(contador):
    numero = int(input(f"Dígame cuántas palabras tiene la lista {contador}: "))
    lista = []
    for i in range(numero):
        palabra = input(f"Dígame la palabra {i + 1}: ")
        lista += [palabra]
    return lista

print("Generador de listas")
numero = int(input("¿Cuántas listas quiere escribir? "))

listas = []
for i in range(1, numero + 1):
    listas += [crea_lista(i)]

for i in range(numero):
    print(f"La lista {i + 1} es: {listas[i]}")

Funciones (2) - 5-1

En construcciónPor escribir

Funciones (2) - 5-2

En construcciónPor escribir

Funciones (2) - 5-3

En construcciónPor escribir