Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Humpty Dumpty Form by KarolinaK
import math
def volume(a,c):
return round((4*math.pi/3)*(a**2)*c,2)
def surface (a,c):
if(a>c):
e=(1-((c**2)/(a**2)))**(1/2)
return round(2*math.pi*(a**2)*(1+((1-e**2)/e)*math.atanh(e)),2)
elif(a==c):
return round(4*math.pi*a*a,2)
else:
e=(1-((a**2)/(c**2)))**(1/2)
return round(2*math.pi*a*a*(1+(c/(a*e))*math.asin(e)),2)
def checkio(height, width):
print([volume(width/2,height/2), surface(width/2,height/2)])
return [volume(width/2,height/2), surface(width/2,height/2)]
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(4, 2) == [8.38, 21.48], "Prolate spheroid"
assert checkio(2, 2) == [4.19, 12.57], "Sphere"
assert checkio(2, 4) == [16.76, 34.69], "Oblate spheroid"
Nov. 11, 2016