Python随机选择

2024-10-01 15:30:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经建立了一个游戏,我需要使用random.choice

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

#login
self.enterRoom("1")

Tags: 代码用户self游戏loginrandom房间choice
3条回答

不使用random.choice
使用random.randint

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

有多种方法可以解决这个问题。只需选择一个最适合你的情况,你觉得是最可读的。在

随机选择()当符合条件的选择的总体已在列表中时,该方法非常有效:

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

随机随机范围()函数在选择为数值且连续时起作用(尽管之后仍需调用str):

^{2}$

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

您几乎肯定不想为此使用random.choice;Caner Korkmaz的答案要好得多。在

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

random.choice(seq)

Return a random element from the non-empty sequence seq. If seq is empty, raises IndexError.

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

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

然后:

^{2}$

相关问题 更多 >

    热门问题