程序在break语句后继续循环

问题描述

我是python的新手,我正在练习一些问题。问题是:

TWheel

我的理解是,在“中断”之后它应该结束循环,所以我应该只得到2。相反,它贯穿整个过程,我得到2、5和1。我没有得到什么? >

解决方法

也许更容易理解,如果在分配print(repeats)之后放一个repeats[arr] = ...

迭代1:arr == 2

{2: 1} # key `2` was created and assigned `0 + 1`

迭代2:arr == 5

{2: 1,5: 1} # key `5` created and assigned  `0 + 1`

迭代3:arr == 1

{2: 1,5: 1,1: 1} # key `1` created and assigned `0 + 1`

迭代4:arr == 2

{2: 2,1: 1} # key `2` was already present,assigned `1 + 1`
repeat[arr] == 2: # evaluates to True,so it breaks
,

第一次通过循环,arrs是2。该键在字典中尚不存在,因此创建repeats[2]的值为1,程序将打印{{1} }。

第二遍循环,2是5。该键尚不存在于字典中,因此创建arrs的值为1,程序将打印{{1} }。

第三遍循环,repeats[5]是1。该键尚不存在于字典中,因此创建5的值为1,程序将打印{{1} }。

第四遍循环,arrs是2。该键已经存在于字典中,并且值为1,因此为repeats[1]分配了新值2,并且循环中断。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...