html('<h2>The Euclidean Method for generating Pythagorean Triplets</h2>')
@interact
def pythagorean_triangle( \
mm = input_box(default=2, label='Seed number 1', width=10), \
nn = input_box(default=1, label='Seed number 2', width=10)) :
try:
mmm = float(mm)
nnn = float(nn)
except (ValueError, NameError, TypeError):
print "cannot generate a triplet. Please enter valid numbers (1st number >= 2, and 2nd number >= 1"
return
a = mmm^2-nnn^2
b = 2*mmm*nnn
print "Based on the seed (%d, %d), the triplet is: (%d, %d, %d)" % (mmm, nnn, a, b, mmm^2+nnn^2, )
point_a = [a, 0]
point_b = [0, b]
mm = ''
mmm = float()
polygon = [[0, 0], point_a, point_b, [0, 0]]
triangle = line(polygon, rgbcolor=(1, 0, 0))
a_text = "a=%s" % (n(a, digits=5), )
a_show = text(a_text, (a/2 ,b/20), rgbcolor=(1,0,0))
b_text = "b=%s" % (n(b, digits=5), )
b_show = text(b_text, (a/5 ,0.7*b/2), rgbcolor=(1,0,0))
c_text = "c=%s" % (n(sqrt(a^2 + b^2), digits=5), )
c_show = text(c_text, (1.3*a/2 ,b/2), rgbcolor=(1,0,0))
show(triangle + a_show + b_show + c_show, aspect_ratio=1)