3
CombinacionesFracciones Milton Labanda December, 2013 In []: """ @author: Milton Labanda [email protected] @date: Diciembre 2013 @description: Ejercicio de Matemáticas 7mo año de Educación Básica Tema: Suma de Fracciones Mixtas Ubica los números mixtos en los círculos de forma que cada lado del triángulo sume 10 17/30: 1 1/30, 2 2/15, 3 7/10, 3 1/5, 4 1/6, 1 4/15, 4 1/10, 2 1/5 2 3/10 """ In [1]: from IPython.display import Image In [4]: Image(filename="/home/miltonlab/Imágenes/triangulo2.jpg") Out [4]:

Usando Python en la escuela

Embed Size (px)

Citation preview

Page 1: Usando Python en la escuela

CombinacionesFracciones

Milton Labanda

December, 2013

In []: """@author: Milton Labanda

[email protected]@date: Diciembre 2013@description: Ejercicio de Matemáticas 7mo año de Educación Básica

Tema: Suma de Fracciones MixtasUbica los números mixtos en los círculos de forma que cadalado del triángulo sume 10 17/30:1 1/30, 2 2/15, 3 7/10, 3 1/5, 4 1/6, 1 4/15, 4 1/10, 2 1/52 3/10

"""

In [1]: from IPython.display import Image

In [4]: Image(filename="/home/miltonlab/Imágenes/triangulo2.jpg")

Out [4]:

Page 2: Usando Python en la escuela

In [94]: import itertools

In [93]: from fractions import Fraction

In [74]: fracciones = [Fraction(31,30), Fraction(32,15), Fraction(97,30), Fraction(46,15),Fraction(25,6), Fraction(19,15), Fraction(41,10), Fraction(11,5), Fraction(23,10)]

In [75]: combinaciones = list(itertools.combinations(fracciones,4))

In [95]: len(combinaciones)

Out [95]: 126

In [76]: # combinaciones de las fracciones para generar los ladoslados = [c for c in combinaciones if sum(c) == Fraction(317,30)]

In [77]: lados

Page 3: Usando Python en la escuela

Out [77]: [(Fraction(31, 30), Fraction(32, 15), Fraction(97, 30), Fraction(25,6)),(Fraction(31, 30), Fraction(97, 30), Fraction(41, 10), Fraction(11,

5)),(Fraction(31, 30), Fraction(46, 15), Fraction(25, 6), Fraction(23,

10)),(Fraction(31, 30), Fraction(25, 6), Fraction(19, 15), Fraction(41,

10)),(Fraction(32, 15), Fraction(46, 15), Fraction(19, 15), Fraction(41,

10))]

In [78]: # combinaciones de los ladostriangulos = list(itertools.combinations(lados, 3))

In [91]: # Seleccionamos solo los triangulos que tienen circulos que se repiten# maximo 2 veces, es decir los verticesrespuestas=filter( lambda t: len(set(t[0] + t[1] + t[2])) == 9,triangulos)

In [92]: respuestas

Out [92]: [((Fraction(31, 30), Fraction(97, 30), Fraction(41, 10), Fraction(11,5)),

(Fraction(31, 30), Fraction(46, 15), Fraction(25, 6), Fraction(23,10)),

(Fraction(32, 15), Fraction(46, 15), Fraction(19, 15), Fraction(41,10)))]

In []: