0

Generate a random number

Hello in my code I need to generate a list of numbers in range 1 to 9 which I use the random module but I wander how to make it work so that the numbers are appended into an list: x = [lambda x: x for x in random.randrange(1,9)]

9th Mar 2019, 5:49 PM
daniel
daniel - avatar
4 Antworten
+ 2
Then there are some mistakes in your code: 1) randrange(1, 9) never returns 9. (You should use randrange(1, 10) or randint(1, 9) instead 2) Where is the list length (which is 6) in your code? 3) you can generate list by list comprehension, but the values won't be unique. For example: x = [random.randrange(1,10) for x in range(6)] or: x = [random.randint(1,9) for x in range(6)] Both the lines return the list with unique values I would suggest to try random.shuffle instead. *UPDATE: random.sample is the better sggestion in this case. Thanks to Jay Matthews
9th Mar 2019, 7:00 PM
portpass
0
daniel 1) How many numbers you want to put in the list? 2) Do the numbers have to be unique? 3) Is 9 included in the range?
9th Mar 2019, 6:00 PM
portpass
0
i want to put 6 numbers that are unique and yes 9 might be part of the list.
9th Mar 2019, 6:22 PM
daniel
daniel - avatar
0
random.sample works with range as well: x=random.sample(range(1,10),6)
9th Mar 2019, 11:36 PM
portpass