Last active
April 1, 2016 08:20
-
-
Save david-sosa-valdes/058cbc6b0b8e9a011ff7a4d2d4e51654 to your computer and use it in GitHub Desktop.
Clase para obtener los posibles escenarios de anotación a partir de un resultado de futbol.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # coding=utf-8 | |
| from copy import copy | |
| class FootbalScores(object): | |
| def __init__(self, score): | |
| self.points = [2,3,7] | |
| self.solutions = list() | |
| self.boundaries = list() | |
| self.score = score | |
| def setBoundaries(self): | |
| for point in self.points: | |
| max_score = round(self.score/point,2) | |
| self.boundaries.append(int(max_score)) | |
| return self | |
| def verifySolutions(self): | |
| for x in xrange(self.boundaries[0],-1,-1): | |
| for y in xrange(self.boundaries[1],-1,-1): | |
| for z in xrange(self.boundaries[2],-1,-1): | |
| aprox = ((x*self.points[0])+(y*self.points[1])+(z*self.points[2])) | |
| if aprox == self.score: | |
| self.solutions.append((x,y,z)) | |
| return self | |
| if __name__ == '__main__': | |
| fb = FootbalScores(8) | |
| fb.setBoundaries() | |
| fb.verifySolutions() | |
| print fb.solutions |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tengo una solución medio simple pero es lo que pude lograr en 45 mins, cualquiera que quiera dar una revisión al código es bienvenido.