[ Foro de Python ]

Primer multiplo de 11

27-Sep-2018 00:14
Invitado (Donnes)
1 Respuestas

Hola a todos...

Estoy en el primer año de carrera en la uni y mi profesor de informatica va muy a saco, en mi vida he programado con python y despues de darle vueltas y vueltas y más vueltas, soy incapaz de ni imaginar como se puede hacer este ejercicio... si alguien pudiese ayudarme le estaria muy agradecido ya que con un ejemplo podria conseguir hacer el resto y aprender a usar todo el tema de los bucles...

Muchas gracias.

EJERCICIO
Implementa la función primer_multiplo_11 que recibe como argumento una secuencia de números enteros y devuelve el primer múltiplo de 11 que encuentre. Si no hay ninguno debe devolver None.

Nota: No debería importar de qué tipo de secuencia se trate.  Debería funcionar con rangos, listas, tuplas, generadores, ...

PD: ESTOS SON LOS TEST QUE DEBE SUPERAR, teneis que descomentar la ultima parte de los test dependiendo del programa que useis.


from unittest import TestCase, main

class Test(TestCase):
   # primer_multiplo_11
   def test_primer_multiplo_11_15_300(self):
       self.assertEqual(primer_multiplo_11(range(15,300)), 22)
 
   def test_primer_multiplo_11_300_15(self):
       self.assertEqual(primer_multiplo_11(reversed(range(15,300))), 297)
 
   def test_primer_multiplo_11_12_22(self):
       self.assertEqual(primer_multiplo_11(range(12,22)), None)

   def test_primer_multiplo_11_vacio(self):
       self.assertEqual(primer_multiplo_11(range(1,1)), None)
           None

# Si usas Jupyter descomenta la última línea
# Si usas IDLE, Python o PyCharm descomenta la penultima
# main()
# main(argv=['first-arg-is-ignored'], exit=False)


02-Oct-2018 10:39
Nacho Cabanes (+83)

Vamos a ver qué sabes hacer...

¿Sabrías mostrar los números del 1 al 100?

¿Sabrías ver cuáles de esos números son múltiplos de 11?

¿Sabrías recorrer una lista, mostrando cuales de sus elementos son múltiplos de 11?

¿Sabrías hacer eso mismo pero si la lista es un parámetro de una función?






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)