问:在random_member任务3的代码挑战中,我不明白为什么我们需要使用方括号返回函数。
我对挑战的原始解决方案如下,当我使用树状结构工作区运行代码时,它可以按预期工作:
导入 random
def random_member (list ):index = random 。randint (0 ,len个(名单)- 1 )回报指数
然而,代码挑战并没有接受它作为答案,相反,它想要的是下面的代码(我只是通过在论坛上阅读其他答案来学习的):
导入 random
def random_member (list ):index = random 。randint (0 ,len个(列表)- 1 )返回列表[指数]
所以我的问题是,为什么方括号呢?为什么列出[索引],而不仅仅是索引?
或...为什么不只使用以下代码?
import random
def random_member (list ):返回random 。randint (0 ,len个(列表)- 1 )
^在使用工作空间运行它时也可以使用。所有其他解决方案在工作空间中都可以正常工作,但是代码挑战需要方括号解决方案。
这很奇怪,因为在此之前一直没有任何地方提到使用方括号进行回报的任何内容。
有人可以向我解释使用方括号返回函数吗?
非常令人困惑和沮丧!
非常感谢您的宝贵时间,非常感谢!
答:据我了解,问题是您试图弄清楚为什么它不接受从随机数函数生成的整数作为返回值。挑战指出,您必须返回具有该索引的列表项,而不仅仅是索引。例如:
导入 随机
a_list = [ “ a” ,“ b” ,“ c” ,“ d” ] def random_member (列表):index = random 。randint (0 ,len个(列表)- 1 )返回列表[指数] random_member (的a_list )#如果随机产生的数是2 #在函数返回列表[索引]等于“C”,2从(的a_list中提取的值[ ])