此函数应获取一个病毒列表,如[ATCG,GTAC….]和一个表示病毒死亡/从列表中删除的几率的致命粒子(介于0和1之间)。它应该返回一个包含剩余病毒的新列表。每一种病毒都有一个单独的死亡机会,所以当致死概率为0.6时,应该有60%左右的病毒仍然存在。你知道吗
它应该有两行代码(包括def kill(viruses,vertalityprob):)和我使用列表理解的代码行。你知道吗
def kill(viruses, mortalityProb):
for i in viruses:
if random.randint(0, 100) < (mortalityProb * 100):
del i
return viruses
这不太管用,但我不明白为什么。你知道吗
一种方法是病毒。删除(i) 是的。但是,可以在遍历列表时看到关于更改列表的各种帖子。你知道吗
您可以将其设为一行程序;只需为每个病毒调用
random
,如果“saving throw”有效,则将其包含在内。你知道吗例如:
顺便说一句,你的变量命名错误:
mortalityProb
应该描述有机体死亡的几率,而不是存活的几率。你知道吗因为在for循环中,“i”实际上不是列表中的元素。你必须改变病毒列表。像这样的办法也许行得通。你知道吗
相关问题 更多 >
编程相关推荐