How to get an index in a list without calling index function or ANY built in functions?
我目前正在尝试构建一个函数,该函数查找数字(n)的第二个除数,并返回第二个除数的索引,而不调用内置索引函数。xs是一个列表,n是要分割的数字例如:
我的当前代码
1 2 3 4 5 6 7 8 | 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和带有布尔值和运算符的循环。我不能像类似的问题那样使用枚举。我需要一些关于内置函数的方法。
更新的代码(只有在没有第二个除数的情况下,我必须不包括任何除数,所以才会失败)
def locate_second_除数(xs,n):计数=0索引=0对于Num在XS中:如果(n%num)==0:计数+=1如果计数=2:收益指数其他:无返回
如果我理解正确的话,你就可以像跟踪满足条件的次数一样跟踪索引。
1 2 3 4 5 6 7 8 9 10 11 12 13 | def locate_second_divisor(xs, n): count = 0 index = 0 for num in xs: count += (n % num) == 0 if count == 2: return index else: index += 1 print(locate_second_divisor([20,3,5,3,4], 12)) # 3 |
趣味笔记:由于