- 如何在python中执行flowing for:我对下面的代码很感兴趣,它是用java for python编写的。。。如何在python中实现这样的for循环。。。谢谢,java解决方案就是这样的:
for (int=1;i<arr.length;i+=2{
if(i==arr.length-1){
if(arr[i]-min>=k)
return count+1;
else
return arr.length;
}
else{
if (arr[i]-min>=k)||(arr[i+1]-min>=k{
return count+1;
}
else
count++;
}
}
return arr.length;
}
}
Python solution is like that and does not work, because ifs and else...
any ideas, how to do those if else elif..I am a bit confused as there is no {}
def maxMin(k, arr):
count=1
min = arr[0]
print (min)
for i in range (1, len(arr), 2):
if i==len(arr)-1:
if arr[i]-min>=k:
return count
else:
return len(arr)
if (arr[i]-min>=k) or (arr[i+1]-min>=k):
return count+1
else:
return count
return len(arr)
3条答案
按热度按时间n53p2ov01#
对于第二个错误:elif相当于python中的elseif。
除此之外,如果之前没有if,就不能使用else if。
您还必须知道,在第一个else语句之后的所有代码都将永远不会到达。如果你的第一个if不满意,它总是会进入你的else,你在那里做一个返回,这样它就会停止你的循环。
一个典型的结构应该是:如果elif else
2wnc66cl2#
好了,谢谢你,弗雷德里克,结束代码是:
它的作用是:最小\u点(12,[1,2,3,5,8,13,14,15,18])==4
smtd7mpg3#
好吧,一开始我误解了你的代码。我用python重新实现了您的java代码:
python中if else的语法为:
你的java代码的语法也错了,我帮你修正了:
但是我不能保证代码能满足您的要求,因为您原来的代码有点乱;)