如何在不调用索引函数或任何内置函数的情况下获取列表中的索引?

时间:2017-03-01 23:29:46

标签: python list loops for-loop indexing

我目前正在尝试构建一个函数,它找到数字(n)的第二个除数,并返回第二个除数的索引而不调用内置索引函数。 xs是一个列表,n是要分割的数字 例如:locate_second_divisor([20,3,4,2],12)产生2

我当前的代码

count=0
def locate_second_divisor(xs,n):
     count=0
     for num in xs:
        if n % num==0:
          count+=1
        if count==2:
         return

回归时,我需要编写第二个除数的索引,但我不能在不调用索引的情况下考虑如何做到这一点。

这不是一个重复的问题,因为我不允许使用任何内置函数。我只能使用与布尔和运算符的append,int,float,str和循环。我不能像类似的问题那样使用枚举。我需要某种方式围绕内置函数。

更新的代码(仅失败,因为如果没有第二个除数,我必须包含None)

def locate_second_divisor(xs,n):     计数= 0     索引= 0     对于xs中的num:         if(n%num)== 0:             计数+ = 1         如果count == 2:             回报指数         其他:             返回无

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您可以像跟踪条件满足的次数一样跟踪索引。

(n % num) == 0

有趣的说明: 由于True评估为Falseif,因此会安全地转换为1 和0,您可以将第一个count += (n % num) == 0块简化为:HttpClient