-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCircleClassLesson.py
More file actions
60 lines (38 loc) · 1.11 KB
/
Copy pathCircleClassLesson.py
File metadata and controls
60 lines (38 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import math
class Circle(object): # New style class
'An advanced cirle analytic toolkit'
version = '0.1' # class variable
def __init__(self, radius):
self.radius = radius # instance variable
# self is your instance. an initializer
# Method
def area(self):
' Perform a quadature on a shape of uniform radius'
return math.pi * self.radius ** 2.0
def perimeter(self):
return 2.0 * math.pi * self.radius
# Tutorial
print 'Circuituous version', Circle.version
c = Circle(10)
print 'A circle of radius', c.radius
print 'has an area of', c.area()
print
# Example use 1
seed(8675309)
print 'Using Circuituous(tm) version', Circle.version
n = 10
circles [Circle(random()) for i in xrange(n)]
print 'The average area of', n, 'random circles'
avg = sum([c.area() for c in circles]) / n
print 'is %.1f' % avg
print
# Example use 2
cuts = [0.1, 0.7, 0.8]
circles = [Circle(r) for r in cuts]
for c in circles:
print 'A circle with a radius of', c.radius
print 'has a paremeter of', c.perimeter()
print 'an a cold area of'. c.area()
c.radius *= 1.1
print 'and a warm area of', c.area()
print