[Tutor] random.choice() problem
Dave Angel
davea at davea.name
Sun Jun 23 12:46:40 CEST 2013
On 06/23/2013 02:18 AM, Jack Little wrote:
> I am trying to use random.choice for a text based game. I am using windows 7, 64-bit python. Here is my code:
>
> def lvl2():
> print "COMMANDER: Who should you train with?"
> trn=random.choice(1,2)
> if trn==1:
> lvl2_1()
> print "Squad One!"
> elif trn==2:
> lvl2_2()
> print "Squad Nine!"
>
>
>
>
>
> Here is my error:
>
> File "C:\Users\Jack\Desktop\python\skye.py", line 20, in lvl2
> trn=random.choice(1,2)
> TypeError: choice() takes exactly 2 arguments (3 given)
>>>>
>
>
>
You don't say what version of Python you're using, but I'll assume 2.7
Steven's answer is correct, but here's another option:
trn = random.randint(1,2)
Here, the 1 and 2 are separate arguments delimiting a range of integer
values. Note that it includes both end points, unlike the xrange function.
Alternatively, you could use
trn = random.randrange(1,3)
To make the above clearer, suppose you wanted an int value between 1 and
20, inclusive. You could do that at least four ways:
trn = random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20])
trn = random.choice(range(1, 21))
trn = random.randint(1, 20)
trn = random.randrange(1, 21)
--
DaveA
More information about the Tutor
mailing list