我目前正在尝试构建一个函数,它找到数字(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: 回报指数 其他: 返回无
答案 0 :(得分:2)
如果我理解正确,您可以像跟踪条件满足的次数一样跟踪索引。
(n % num) == 0
有趣的说明:
由于True
评估为False
或if
,因此会安全地转换为1
和0,您可以将第一个count += (n % num) == 0
块简化为:HttpClient