in Uncategorized

Checkio

I tinkered with the site a little here and there but nothing ground breaking today. I am just slowly piecing it together and hope to release: 9/6/17 with a couple of videos.

I love py.checkio.org, it’s a cool  site that provides you with puzzles to solve in Python. Great learning tool. I embarked on The Angles of a Triangle today. https://py.checkio.org/mission/triangle-angles/

Never was all that great at trig but I love learning python so I tackled this one. Had help from this site: https://www.mathsisfun.com/algebra/trig-solving-sss-triangles.html

And a library I found called Triangle Solver… https://pypi.python.org/pypi/trianglesolver 

Checkio doesn’t support external packages but I was able to dig through the code and pull out what I needed to solve this one.  Here is my solution:

[pastacode lang=”python” manual=”from%20math%20import%20pi%2C%20acos%0A%0A%0Adef%20sss(a%2Cb%2Cc)%3A%0A%20%20%20%20degree%20%3D%20pi%20%2F%20180%0A%20%20%20%20assert%20a%20%2B%20b%20%3E%20c%20and%20b%20%2B%20c%20%3E%20a%20and%20c%20%2B%20a%20%3E%20b%0A%20%20%20%20A%20%3D%20acos((b**2%20%2B%20c**2%20-%20a**2)%20%2F%20(2%20*%20b%20*%20c))%0A%20%20%20%20B%20%3D%20acos((c**2%20%2B%20a**2%20-%20b**2)%20%2F%20(2%20*%20c%20*%20a))%0A%20%20%20%20C%20%3D%20180%20-%20(A%2Fdegree)%20-%20(B%2Fdegree)%0A%20%20%20%20return%20A%2Fdegree%2C%20B%2Fdegree%2C%20C%0A%0A%0Adef%20checkio(a%2C%20b%2C%20c)%3A%0A%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20A%2C%20B%2C%20C%20%3D%20sss(a%2C%20b%2C%20c)%0A%20%20%20%20%20%20%20%20result%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20round(A)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20round(B)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20round(C)%5D%0A%20%20%20%20%20%20%20%20return%20sorted(result)%0A%20%20%20%20except%3A%0A%20%20%20%20%20%20%20%20return%20%5B0%2C%200%2C%200%5D%0A%0A%0A%23These%20%22asserts%22%20using%20only%20for%20self-checking%20and%20not%20necessary%20for%20auto-testing%0Aif%20__name__%20%3D%3D%20’__main__’%3A%0A%20%20%20%20assert%20checkio(4%2C%204%2C%204)%20%3D%3D%20%5B60%2C%2060%2C%2060%5D%2C%20%22All%20sides%20are%20equal%22%0A%20%20%20%20assert%20checkio(3%2C%204%2C%205)%20%3D%3D%20%5B37%2C%2053%2C%2090%5D%2C%20%22Egyptian%20triangle%22%0A%20%20%20%20assert%20checkio(2%2C%202%2C%205)%20%3D%3D%20%5B0%2C%200%2C%200%5D%2C%20%22It’s%20can%20not%20be%20a%20triangle%22%0A%20%20%20%20assert%20checkio(5%2C%204%2C%203)%20%3D%3D%20%5B37%2C%2053%2C%2090%5D” message=”” highlight=”” provider=”manual”/]

Write a Comment

Comment