例如以下这个函数:
state = 1
def set_state(state):
while state:
set = int(input('请输入9或5,显示"hello world"\n'))
if set == 9 or set == 5:
print('hello world')
state = int(input('输入1继续,输入0停止!\n'))
else:
print('请输入要求的值!')
set_state(state)
# break
set_state(state)
print('end')
这个函数设计的目的是让用户输入指定的值,若输入的值并非指定值,则重新输入。
不写break,运行时就会出现错误,乍一看正确:
但:
此时箭头所指的地方,所输入的0传给了其他条件下,第二次运行函数时的状态下,第一个状态仍为1,并未改变,因此在退出了第二次运行的函数后,仍然会继续运行第一个函数中state = 1的循环,导致还得再次输入0去改变state的值才能停止运行
因此,在再次调用该函数的语句后面,应该加一句breaK语句,直接退出当前的循环,避免出现函数执行的效果达不到预期效果,
加入break以后的截图:
扫描二维码关注公众号,回复:
4515739 查看本文章
break为跳出本层循环,只影响一层
continue为跳出本次循环,进行下一次循环
return为为直接跳出当前函数