PYTHON - 随机选择

时间:2012-09-27 18:55:01

标签: python login random choice

我制作了一款游戏,我需要使用random.choice

当用户登录时,他们需要进入随机选择的15个房间之一。如何修改以下代码以使用random.choice来选择房间?

#login
self.enterRoom("1")

3 个答案:

答案 0 :(得分:7)

未使用random.choice,使用random.randint

import random
room = random.randint(1,15)

答案 1 :(得分:3)

你几乎肯定不想使用random.choice这个; Caner Korkmaz的答案要好得多。

但如果由于某种原因你真的需要使用random.choice(例如,因为这是家庭作业,你的教授坚持),请参阅the documentation

  

random.choice(SEQ)

     

从非空序列seq返回一个随机元素。如果seq为空,则引发IndexError。

因此,您需要获得包含字符串“1”到“15”的序列。要做到这一点:

rooms = [str(i) for i in range(1, 16)]

然后:

room = random.choice(rooms)

答案 2 :(得分:0)

有多种方法可以解决这个问题。只需选择最适合您的情况并且您发现最具可读性的那个。

random.choice()方法适用于合格选项的数量已在列表中的情况:

>>> rooms = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15']
>>> random.choice(rooms)
'7'

random.randrange()函数在选项为数字且连续的情况下有效(尽管您之后仍需要调用 str ):

>>> str(random.randrange(1, 16))
'2'

从计算机科学的角度来看,最后一个是最优雅的;然而,就明确表达游戏中代码的意图而言,第一个通过说“随机选择可用房间”获胜。