On 30/12/15 05:55, Tom Xu wrote: > Dear Pythoneers, > > I want to draw several curves in one graph, but the amount of curves is not > a fixed number.
OK, But what exactly are you asking us to do? > My homework is below: > --- > import matplotlib.pyplot as plt > import math > > if __name__=='__main__': > try: > n=int(input('how many curves? ')) > ulist=[] > thetalist=[] > for i in range(n): > ulist.append(float(input('Enter velocity: '))) > thetalist.append(float(input('Enter angle: '))) > except ValueError: > print('invalid input') > else: > generateFr(?????) You need to put the call to generateFr inside a loop that iterates n times putting successive values from ulist and thetalist into the function. > def generateFr(u, theta): > theta=math.radians(theta) > g=9.8 > > tflight=2*u*math.sin(theta)/g > intervals=frange(0, tflight, 0.001) > x=[] > y=[] > for t in intervals: > x.append(u*math.cos(theta)*t) > y.append(u*math.sin(theta)*t - 0.5*g*t*t) > drawgraph(x, y) > > def frange(start, final, increment): > numbers=[] > while start<final: > numbers.append(start) > start+=increment > return numbers > > def drawgraph(x, y): > plt.plot(x, y) > plt.xlabel('x-coordinate') > plt.ylabel('y-coordinate') > plt.title('Projectile motion') -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor