On Fri, 19 Dec 2014 00:55:49 +0000 Alan Gauld <alan.ga...@btinternet.com> wrote:
> You could have used a list instead of all the > individual variables > > line[0] = ... > line[1] = ... > > But then you could get clever and use a loop: > > while lines != 0: > start = 1 > period = 7 > for lineNum in range(7): > line[lineNum] = random(start,period) > start += period > period += period > print (*line) > lines -=1 > A list comprehension might be fun. https://docs.python.org/3.4/tutorial/datastructures.html#list-comprehensions For example: >>> [random.randint(x,x+6) for x in range(1,50,7)] [4, 9, 15, 27, 33, 36, 49] And to build the 'lines' list (although, this is getting rather ugly): >>> lines = [[random.randint(x,x+6) for x in range(1,50,7)] for i in range(7)] >>> lines [[2, 13, 18, 27, 35, 37, 47], [1, 11, 21, 24, 34, 37, 49], [7, 12, 16, 24, 29, 36, 44], [4, 9, 16, 22, 32, 37, 46], [2, 13, 20, 22, 29, 40, 46], [7, 14, 19, 26, 35, 42, 43], [4, 12, 16, 22, 34, 40, 46]] It might also be a good idea to execute random.seed() before calling randint() - https://docs.python.org/3.4/library/random.html#random.seed _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor