On 07/03/15 15:39, elie khairallah wrote:
hello , I would like to know if theres a way to change a variable's name after every iteration for example I want to make a function that stores a number in x_1 if i=1 and in x_2 if i=2. To be more precise: i=1 def f(n): while i<n: x_i = i**2 ##this writing is wrong I would like here to have x_1 or x_2 ... (depending on i) return (x_1,x_2,x_3 .....)
Others have already suggested a list, which IMHO is the best option. However if for some reason the zero based index of a list is an issue for you then you could use your naming scheme in a dictionary: def f(n): values = {} root = 'x_' for n in range(1,n+1): values[root+str(n)] = n**2 return values You can then access the values with, for example: print (values['x_2']) But unless you are reading the variable names from a file/network or a user then the numerical index of a list will usually be easier to work with. -- 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