想做人工智能的汽车小伙
2021-07-16 11:47
采纳率: 75%
浏览 35

python if else语句执行顺序问题

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

  • 收藏

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

    已采纳该答案
    打赏 评论
  • CSDN专家-sinjack 2021-07-16 11:48

    else可以和for循环同一层级别的

    打赏 评论

相关推荐 更多相似问题