在for和while循环句子中,当循环条件满意时,就会一向循环,假如想半途退出循环,该怎样办?假如想中止本次循环,而不中止整个循环,该怎样办?假如我想写个不履行任何操作的句子,该怎样写?
1、退出循环的break句子
上面的问题,咱们一个个来答复。先说第一个问题,在循环句子中,假如想半途退出循环该怎样办?
Python言语供给了break句子能够跳出当时循环,直接履行后边的句子。运用break句子时,一般会设置触发条件,当设置的条件满意时,履行break句子退出循环。
例1:试求给定某一数值的最大公约数。
用程序求一个数的最大公约数,能够运用循环句子从大到小迭代一切或许的约数,第一个能整除该数的约数便是这个数的最大公约数。程序流程图如下:图1 求最大公约数流程图
程序一开端要求用户输入num,然后把num除以2的成果赋值给count变量(一个数的最大公约数必定小于该数的一半),作为num的初始约数。再用count作为循环变量,迭代一切或许的约数,在约数的迭代进程中,用num与count做取余操作,假如操作成果为0,则阐明count是num的公约数,且是最大公约数,后边用break句子就能够直接退出循环了。下面给出例1的程序代码。
上边的代码用于求给定num的最大公约数,运用循环迭代一切或许的约数,循环变量count顺次递减,第一个能整除num的count便是要找的最大公约数,找到后就不必再找了,运用break句子退出循环。
2、不履行本次循环的continue句子
再来答复第二个问题,假如想中止本次循环,而不中止整个循环,该怎样办?
Python言语供给了continue句子用于完毕本次循环,并开端下一轮循环。continue句子只能用在循环里,当循环履行到continue句子时,程序会中止本次循环,并疏忽剩下的句子,开端新一轮循环。运用continue句子时,要注意和break句子的不同,break句子导致循环中止,使程序操控流转向这个循环句子之后;而continue引起的则是循环内部的一次操控搬运,使履行操控跳到循环体的最终,相当于越过循环体里这个句子后边的那些句子,持续下一次循环,下图阐明晰break句子和continue句子引起的操控搬运的状况。图2 break句子和continue句子的差异
例2:试求100以内个位数不为3的整数累加值。
用程序求100以内个位数不为3的整数累加值,能够运用循环句子从1到100累计求和,在循环求和进程中加一个判别,假如该数个位是3就越过不加。判别100以内整数的个位数是否为3,能够运用取余运算符,将一个正整数,除以10今后余数是3,就阐明这个数的个位为3。程序流程图如下:图 3 求100以内个数不为3的整数累加值
程序一开端先初始化变量i和sum,i为循环变量并初始化为0,sum为存储和的变量并初始化为0。然后运用循环句子顺次求循环变量i的累加和,循环条件为i的值小于100。在循环句子中,假如i与10的取余成果等于3,阐明i的个位数为3,履行continue句子越过循环体求和的句子,开端下一轮循环。下面给出例1的程序代码。
上边的代码分别将变量i和sum赋值为0,然后运用while循环句子。循环条件是i小于100,在循环体中判别i与10的取余成果,假如取余成果等于3,阐明i的个位数为3,在这种状况下,先履行i加1操作(修正循环变量),然后履行continue句子,越过循环体剩下的句子,进入下一轮循环。循环体的if句子后边有两条句子,分别是sum与i相加的和赋值给sum,i做加1操作。循环完毕后,运用print函数输出sum变量的值。
3、不履行任何操作的空句子
再来答复第三个问题,假如我想写不履行任何操作的空句子,该怎样写?
在答复问题之前,先来讨论一下另一个问题,不履行任何操作的空句子在编程中有含义吗?咱们在编程程序的进程中,或许需求先把代码的结构确认下来,确认好循环句子、条件句子等代码块,然后再逐渐把代码弥补到代码块中,例如下面的代码块:
在处理Python字符串中,咱们或许对会对字母h十分感兴趣,期望在处理到字母h时做些工作,但还没有想到怎样处理,暂时无法写处理代码,但在需求写句子的当地不写任何句子,解说器就会提示语法错误,因而需求一个不履行任何操作的句子来占位。
在这样的状况下,能够运用Python言语供给的pass句子,它不做任何工作,仅仅起到一个占位的效果,今后能够将代码弥补上。
pass句子在开发程序十分有用,由于在编写代码的进程中,往往需求先把程序结构确认下来,然后再弥补细节,完善代码。这时在空句子的当地用pass占位便是一个十分好的做法。