Guest User

Untitled

a guest
May 26th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. import math
  2.  
  3. def main(*args):
  4. if (len(args) == 2) : # Если переданы два аргумента
  5. radius_1 = args[0] # Радиус первого круга
  6. radius_2 = args[1] # Радиус второго круга
  7.  
  8. radius_3 = radius_1 + radius_2 # Радиус большого круга
  9.  
  10. square_1 = math.pi * radius_1 * radius_1 # Площадь первого круга
  11. square_2 = math.pi * radius_2 * radius_2 # Площадь второго круга
  12. square_3 = math.pi * radius_3 * radius_3 # Площадь большого круга
  13.  
  14. returning_arg = square_3 - ( square_1 + square_2 ) # Определяем площадь "оранжевой" области
  15. return returning_arg
  16.  
  17. elif (len(args) == 1):
  18. ''' pi - 3,14...
  19. Диаметром большого круга(так я буду называть объединение радиусов других кругов(сплошная линия) )
  20. хорда t делится пополам.Проведем треугольник через концы диаметра и конец t.
  21. По формулам метрических соотношений: 4 * R * r = (t^2) / 4
  22. R * r = (t^2) / 16
  23. S = pi( R^2 + 2 * R * r - R^2 - r^2)
  24. S = pi( 2 * R * r) = pi( t^2 / 8)
  25. '''
  26. t = args[0]
  27. returning_arg = (math.pi * t * t) / 8
  28. return returning_arg
  29. else:
  30. raise ValueError ('Wrong arguments')
  31.  
  32. print( '{0:f}'.format( main(15 , 20) ) ) # 1884.955592
  33.  
  34. print( '{0:f}'.format( main(10) ) ) # 157.079633
Add Comment
Please, Sign In to add comment