I have been instructed to create evenly (more or less) spaced points on the concentric rings of the invisible circle. The function should take a list of radii and the number of points to plot for a given radius as arguments. For example, for a radius of 0, he must construct 1 point at the point (0,0). For a circle with a radius of 1, it should draw 10 points along the circumference of the circle, spaced at an angle of 2pi / 10. For a circle of radius 2, 20 points along a circle spaced by an angle of 2pi / 20.
The generator must take the following parameters:
n, r_max, m
and must generate rings of coordinate pairs at radii
r_i = i * r_max / n for i = 0,1, ..., n.
Each ring should have n * i points uniformly distributed in θ, where n_i = 1 for i = 0; n_i = mi for i> 0
When a function is called as follows:
for r, t in genpolar.rtuniform(n=10, rmax=0.1, m=6):
plot(r * cos(t), r * sin(t), 'bo')
he should return a plot that looks like this: 
Here is what I came up with so far:
def rtpairs(R, N):
R=[0.0,0.1,0.2]
N=[1,10,20]
r=[]
t=[]
for i in N:
theta=2*np.pi/i
t.append(theta)
for j in R:
j=j
r.append(j)
plt.plot(r*np.cos(t),r*np.sin(t), 'bo')
plt.show()
but I'm sure there is a more efficient method using two loops.
Many thanks