如何解决程序在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,并且循环中断。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。