|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
nums = [1, 1, 2, 1, 3, 2, 3, 2]
major1 = major2 = nums[0]
count1 = count2 = 0
# 对抗阶段
for each in nums:
if major1 == each:
count1 += 1
continue
if major2 == each:
count2 += 1
continue
if count1 == 0:
major1 = each
count1 = 1
continue
if count2 == 0:
major2 = each
count2 = 1
continue
count1 -= 1
count2 -= 1
# 统计阶段
if nums.count(major1) > len(nums) / 3:
print(major1)
if nums.count(major2) > len(nums) / 3:
print(major2)
当执行到 continue 语句时,它会跳过当前循环体剩下的部分,然后直接进入下一次循环。
在你的代码中,如果满足了任何一个 if 语句条件并执行了 continue,那么在当前循环体内,后面的 if 语句和 count1 -= 1、count2 -= 1 都不会执行。
具体来说,代码的执行流程如下:
- 对每一个 each 在 nums 中进行遍历。
- 如果 each 等于 major1,那么 count1 加 1,然后直接跳到下一个 each 的循环,忽略剩下的代码。
- 如果 each 等于 major2,那么 count2 加 1,然后直接跳到下一个 each 的循环,忽略剩下的代码。
- 如果 count1 等于 0,那么设置 major1 为 each,将 count1 设置为 1,然后直接跳到下一个 each 的循环,忽略剩下的代码。
- 如果 count2 等于 0,那么设置 major2 为 each,将 count2 设置为 1,然后直接跳到下一个 each 的循环,忽略剩下的代码。
- 如果以上条件都不满足,执行 count1 -= 1 和 count2 -= 1,然后进入下一个 each 的循环。
简单来说,如果一个 if 条件满足并执行了 continue,那么当前循环体内剩下的代码都不会被执行。而是直接进入下一次循环。
|
|