class Solution:
def canCompleteCircuit(self, gas, cost):
if sum(gas) < sum(cost):
return -1
ln = len(gas)
for i in range(ln):
if gas[i] < cost[i]:
continue
total = 0
for j in range(i, i + ln):
j %= ln
total += gas[j] - cost[j]
if total < 0:
break
else: #请问这个else是接着同缩进的if嘛?为什么这个else可以和if中间隔着其他语句
return i
return -1

python if else语句执行顺序问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-HGJ 2021-07-16 12:53关注
这个else子句是循环结构for...else语句结构的一部分,只有正常循环完所有次数,才会执行 else ,break 可以阻止 else 语句块的执行。参考:https://zhuanlan.zhihu.com/p/37374055, 以及这里:https://book.pythontips.com/en/latest/for_-_else.html
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报