• 回答数

    9

  • 浏览数

    339

没腰的麦兜
首页 > 英语培训 > 循环嵌套英文

9个回答 默认排序
  • 默认排序
  • 按时间排序

大雪压青松丶

已采纳

for 后面只跟大括号,用;都是错的

循环嵌套英文

278 评论(14)

我是小鹿呀

Python 中,while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。while 语句的语法格式如下:while 条件表达式: 代码块登录后复制这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。while 语句执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块…如此循环,直到条件表达式的值为假(False),才终止循环。例如,打印 1~100 的所有数字,就可以使用 while 循环,实现代码如下:# 循环的初始化条件num = 1# 当 num 小于100时,会一直执行循环体while num < 100 : print("num=", num) # 迭代语句 num += 1print("循环结束!")登录后复制运行程序会发现,程序只输出了 1~99,却没有输出 100。这是因为,当循环至 num 的值为 100 时,此时条件表达式为假(100<100),当然就不会再去执行代码块中的语句,因此不会输出 100。注意,在使用 while 循环时,一定要保证循环条件有变成假的时候(终止条件),否则这个循环将成为一个死循环。所谓死循环,指的是无法结束循环的循环结构,例如将上面 while 循环中的num += 1代码注释掉,再运行程序你会发现,Python 解释器一直在输出"num= 1",永远不会结束(因为 num<100 一直为 True),除非我们强制关闭解释器。再次强调,只要位于 while 循环体中的代码,其必须使用相同的缩进格式(通常缩进 4 个空格),否则 Python 解释器会报 SyntaxError 错误(语法错误)。例如,将上面程序中num+=1语句前移一个空格,再次执行该程序,此时 Python 解释器就会报 SyntaxError 错误。除此之外,while 循环还常用来遍历列表、元组和字符串,因为它们都支持通过下标索引获取指定位置的元素。例如,下面程序演示了如何使用 while 循环遍历一个字符串变量:my_char = "www.qinjl.com"i = 0while i < len(my_char): print(my_char[i], end="") i = i + 1程序执行结果为:登录后复制for 循环语句for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。for 循环的语法格式如下:for 迭代变量 in 字符串|列表|元组|字典|集合: 代码块登录后复制格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值;代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循环结构联用,因此代码块又称为循环体。下面的程序演示了 for 循环的具体用法:add = "www.qinjl.com"# for循环,遍历 add 字符串for ch in add: print(ch, end="")运行结果为:登录后复制可以看到,使用 for 循环遍历 add 字符串的过程中,迭代变量 ch 会先后被赋值为 add 字符串中的每个字符,并代入循环体中使用。只不过例子中的循环体比较简单,只有一行输出语句。for 循环的具体应用for 循环进行数值循环在使用 for 循环时,最基本的应用就是进行数值循环。比如说,想要实现从 1 到 100 的累加,可以执行如下代码:print("计算 1+2+...+100 的结果为:")#保存累加结果的变量result = 0#逐个获取从 1 到 100 这些值,并做累加操作for i in range(101): result += iprint(result)输出结果:5050登录后复制for 循环遍历列表和元组当用 for 循环遍历 list 列表或者 tuple 元组时,其迭代变量会先后被赋值为列表或元组中的每个元素并执行一次循环体。下面程序使用 for 循环对列表进行了遍历:my_list = [1,2,3,4,5]for ele in my_list: print('ele =', ele)程序执行结果为:ele = 1ele = 2ele = 3ele = 4ele = 5登录后复制for 循环遍历字典在使用 for 循环遍历字典时,经常会用到和字典相关的 3 个方法,即 items()、keys()、values()。当然,如果使用 for 循环直接遍历字典,则迭代变量会被先后赋值为每个键值对中的键。my_dic = {'小蓝': "20", '小红': "22", '小绿': "24"}for ele in my_dic: print('ele =', ele)输出结果:ele = 小蓝ele = 小红ele = 小绿登录后复制因此,直接遍历字典,和遍历字典 keys() 方法的返回值是相同的。除此之外,我们还可以遍历字典 values()、items() 方法的返回值。例如:my_dic = {'小蓝': "20", '小红': "22", '小绿': "24"}for ele in my_dic.items(): print('ele =', ele)输出结果:ele = ('小蓝', '20')ele = ('小红', '22')ele = ('小绿', '24')登录后复制循环结构中 else 用法Python 中,无论是 while 循环还是 for 循环,其后都可以紧跟着一个 else 代码块,它的作用是当循环条件为 False 跳出循环时,程序会最先执行 else 代码块中的代码。以 while 循环为例,下面程序演示了如何为 while 循环添加一个 else 代码块:add = "www.qinjl.com"i = 0while i < len(add): print(add[i],end="") i = i + 1else: print("\n执行 else 代码块")输出结果:执行 else 代码块登录后复制上面程序中,当i == len(add)结束循环时(确切的说,是在结束循环之前),Python 解释器会执行 while 循环后的 else 代码块。当然,我们也可以为 for 循环添加一个 else 代码块,例如:add = "www.qinjl.com"for i in add: print(i,end="")else: print("\n执行 else 代码块")输出结果:执行 else 代码块登录后复制循环嵌套Python 不仅支持 if 语句相互嵌套,while 和 for 循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里面还有 while,甚至 while 中有 for 或者 for 中有 while 也都是允许的。当 2 个(甚至多个)循环结构相互嵌套时,位于外层的循环结构常简称为外层循环或外循环,位于内层的循环结构常简称为内层循环或内循环。循环嵌套结构的代码,Python 解释器执行的流程为:当外层循环条件为 True 时,则执行外层循环结构中的循环体;外层循环体中包含了普通程序和内循环,当内层循环的循环条件为 True 时会执行此循环中的循环体,直到内层循环条件为 False,跳出内循环;如果此时外层循环的条件仍为 True,则返回第 2 步,继续执行外层循环体,直到外层循环的循环条件为 False;当内层循环的循环条件为 False,且外层循环的循环条件也为 False,则整个嵌套循环才算执行完毕。下面程序演示了 while-for 嵌套结构:i = 0while i<10: for j in range(10): print("i=",i," j=",j) i=i+1登录后复制可以看到,此程序中运用了嵌套循环结构,其中外循环使用的是 while 语句,而内循环使用的是 for 语句。程序执行的流程是:一开始 i=0,循环条件 i<10 成立,进入 while 外循环执行其外层循环体;从 j=0 开始,由于 j <10 成立,因此进入 for 内循环执行内层循环体,直到 j=10 不满足循环条件,跳出 for 循环体,继续执行 while 外循环的循环体;执行 i=i+1 语句,如果 i<10 依旧成立,则从第 2 步继续执行。直到 i<10 不成立,则此循环嵌套结构才执行完毕。根据上面的分析,此程序中外层循环将循环 10 次(从 i=0 到 i=9),而每次执行外层循环时,内层循环都从 j = 0 循环执行到 j = 9。因此,该嵌套循环结构将执行 10*10 = 100 次。嵌套循环执行的总次数 = 外循环执行次数 * 内循环执行次数事实上,if 语句和循环(while、for)结构之间,也可以相互嵌套,举个例子:i = 0if i<10: for j in range(5): print("i=",i," j=",j) 输出结果:i= 0 j= 0i= 0 j= 1i= 0 j= 2i= 0 j= 3i= 0 j= 4登录后复制需要指明的是,上面程序演示的仅是 2 层嵌套结构,其实 if、while、for之间完全支持多层( ≥3 )嵌套。例如:if ...: while ...: for ...: if ...: ...登录后复制也就是说,只要场景需要,判断结构和循环结构之间完全可以相互嵌套,甚至可以多层嵌套。break 用法我们知道,在执行 while 循环或者 for 循环时,只要循环条件满足,程序将会一直执行循环体,不停地转圈。但在某些场景,我们可能希望在循环结束前就强制结束循环,Python 提供了 2 种强制离开当前循环体的办法:使用 continue 语句,可以跳过执行本次循环体中剩余的代码,转而执行下一次的循环。只用 break 语句,可以完全终止当前循环。break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。break 语句的语法非常简单,只需要在相应 while 或 for 语句中直接加入即可。例如如下程序:add = "www.qinjl.com,www.qinjl.com"# 一个简单的for循环for i in add: if i == ',': # 终止循环 break print(i, end="")print("\n执行循环体外的代码")输出结果:执行循环体外的代码登录后复制分析上面程序不难看出,当循环至 add 字符串中的逗号,时,程序执行 break 语句,其会直接终止当前的循环,跳出循环体。break 语句一般会结合 if 语句进行搭配使用,表示在某种条件下跳出循环体。注意,通过前面的学习我们知道,for 循环后也可以配备一个 else 语句。这种情况下,如果使用 break 语句跳出循环体,不会执行 else 中包含的代码。举个例子:add = "www.qinjl.com,www.qinjl.com"for i in add: if i == ',': # 终止循环 break print(i, end="")else: print("执行 else 语句中的代码") print("\n执行循环体外的代码")输出结果:执行循环体外的代码登录后复制从输出结果可以看出,使用 break 跳出当前循环体之后,该循环后的 else 代码块也不会被执行。但是,如果将 else 代码块中的代码直接放在循环体的后面,则该部分代码将会被执行。另外,对于嵌套的循环结构来说,break 语句只会终止所在循环体的执行,而不会作用于所有的循环体。举个例子:add = "www.qinjl.com,www.qinjl.com"for i in range(3): for j in add: if j == ',': break print(j, end="") print("\n跳出内循环")#输出结果:跳出内循环跳出内循环跳出内循环登录后复制分析上面程序,每当执行内层循环时,只要循环至 add 字符串中的逗号,就会执行 break 语句,它会立即停止执行当前所在的内存循环体,转而继续执行外层循环。那么在嵌套循环结构中,如何同时跳出内层循环和外层循环呢? 最简单的方法就是借用一个 bool 类型的变量。add = "www.qinjl.com,www.qinjl.com"# 提前定义一个 bool 变量,并为其赋初值flag = Falsefor i in range(3): for j in add: if j == ',': # 在 break 前,修改 flag 的值 flag = True break print(j, end="") print("\n跳出内循环") # 在外层循环体中再次使用 break if flag: print("跳出外层循环") break# 输出结果:跳出内循环跳出外层循环登录后复制可以看到,通过借助一个 bool 类型的变量 flag,在跳出内循环时更改 flag 的值,同时在外层循环体中,判断 flag 的值是否发生改动,如有改动,则再次执行 break 跳出外层循环;反之,则继续执行外层循环。continue的用法和 break 语句相比,continue 语句的作用则没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。仍然以在操作跑步为例,原计划跑 10 圈,但当跑到 2 圈半的时候突然接到一个电话,此时停止了跑步,当挂断电话后,并没有继续跑剩下的半圈,而是直接从第 3 圈开始跑。continue 语句的用法和 break 语句一样,只要 while 或 for 语句中的相应位置加入即可。例如:add = "www.qinjl.com,www.qinjl.com"# 一个简单的for循环for i in add: if i == ',': # 忽略本次循环的剩下语句 print('\n') continue print(i, end="")# 输出结果:登录后复制可以看到,当遍历 add 字符串至逗号,时,会进入 if 判断语句执行 print() 语句和 continue 语句。其中,print() 语句起到换行的作用,而 continue 语句会使 Python 解释器忽略执行第 8 行代码,直接从下一次循环开始执行。pythonwhileforbreakcontinue真皮凉鞋精选推荐广告Python学习之循环控制语句(for、while、break及continue)206阅读·0评论·0点赞2021年9月9日关键字continue在for与while语句中的作用530阅读·1评论·3点赞2022年10月6日Python嵌套循环和二重循环中的break、continue61阅读·0评论·1点赞2022年10月28日Python中的嵌套循环3.2W阅读·2评论·11点赞2022年3月22日在while及if内部嵌套结构使用break的退出情况5180阅读·2评论·4点赞2020年5月1日Python break语句:多层循环中break是终止(或跳出)本层(也即所在层)循环,后者说是跳出最内层循环。也就是break只能跳出一层循环而不是多层循环1.8W阅读·0评论·1点赞2021年10月23日python while循环语句break_Python break while-Python break while循环-Python break while语句-Python break whil...1267阅读·0评论·0点赞2020年12月5日Python——While 循环与 break 语句6308阅读·1评论·5点赞2021年4月26日Python基础知识(嵌套循环、二重循环中的break与continue、为什么需要列表、列表对象的创建、列表的特点、)457阅读·0评论·2点赞2022年4月16日python跳出循环的方法_Python 跳出嵌套循环的5种方法3198阅读·0评论·1点赞2021年3月7日break和continue语句、循环嵌套85阅读·0评论·0点赞2022年11月17日python 之while详解3.1W阅读·0评论·14点赞2020年6月18日Java 嵌套循环结构与break 、continue、return 的使用1115阅读·0评论·1点赞2022年8月8日Python基础11 break语句、continue语句、else语句、嵌套循环518阅读·0评论·0点赞2022年4月15日python之while循环中break应用463阅读·0评论·0点赞2020年11月11日C语言小常识:关于break和while、for结合使用884阅读·0评论·2点赞2021年7月6日Python 语言 , while循环,while循环嵌套,break条件退出循环,continue 满足一种条件退出循环,下面代码举例:1057阅读·2评论·2点赞2022年4月12日python学习:break用法详解2309阅读·0评论·3点赞2022年9月15日python break语句作用_Python break语句详解1263阅读·0评论·0点赞2020年11月20日去首页看看更多热门内容评论2我爱人工智能赞学习佳作,顺手点赞与关住,期待大佬回访!2021.07.23大家一起学编程(python)赞期待你更多好的作品

178 评论(10)

我是蜜桃桃

举个例子:用for循环输出以下图案: * *** ************#includemain(){ int i,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(" "); for(k=0;k<=2*i;k++) printf("*"); printf("\n"); }} for(i=0;i<=3;i++)下面大括号里面的for(j=0;j<=2-i;j++)和for(k=0;k<=2*i;k++)就是它的两个嵌套子循环。首先程序执行父循环,i=0;然后执行子循环里靠前的for(j=0;j<=2-i;j++),j=0;满足j<=2-i这个条件,打印一个“空格”。这个子循环继续自循环,j=1;依然满足条件,继续打印一个空格;继续自循环,j=2;依然满足条件,再打印一个空格。继续自循环,j=3,这时已经不满足j<=2-i这个条件了。跳出循环。执行下面的代码。也就是第二个子循环for(k=0;k<=2*i;k++),它依然是在父循环的i=0的条件下执行。第一轮自循环,k=0,满足条件k<=2*i;k++),打印一个*号。(注:这个*号是跟在前面的那三个空格之后,因为前面一个子循环没有打印换行。第二轮自循环:k=1,不满足条件k<=2*i;k++),跳出自循环,执行后面的代码printf("\n"),换行。(注:printf("\n")这句代码并不是包含在for(k=0;k<=2*i;k++)这个循环里面的,因为一个条件语句下如果不用大括号括起来,默认为只包含下面的第一段代码。这时父循环第一轮循环全部结束,执行第二轮父循环。i=1;在这个条件下首先判断是否符合父循环本身条件,如果符合,依次判断两个子循环是否满足条件,输出相应结果。如果不符合,直接跳出;总结一下,嵌套循环的执行原则是:首先执行父第一轮父循环,在满足第一个父循环条件下完全执行子循环。如有多个子循环,按照从上往下的原则完全执行。也就是说要第一个子循环进行一个完整的循环之后才会继续执行下一个子循环。

315 评论(15)

甜田心ttx

给你一个例子,你可以看看,不明白的问我 for循环嵌套

for循环嵌套

        

167 评论(15)

挥之不去215

去掉while语句后的分号就可以了。 即将 while((i%3!=0)&&(i%8!=0)); {s=s+i;}改为: while((i%3!=0)&&(i%8!=0)) {s=s+i;

158 评论(15)

doublel0814

楼主呀,你这for循环不要这么写,神看了也会哭的。int main(void){ int i, j, k; printf("i j k\n"); for (i=0; i<2; i++) //最外层进入,先0,再1 for(j=0; j<2; j++) //第二层,也是先0再1 for(k=0; k<2; k++) //最里层,也是先0再1, printf(%d %d %d\n", i, j, k); return 0; } i先0 ,j先0,k先0再1,执行后,j就循环到1,继续k先0再1,接着,i到1, j先0,k先0再1,执行后,j就循环到1,继续k先0再1,循环结束。

101 评论(11)

silvia147852

参考代码如下:#include"stdio.h"main(){ int i,j; for(i=1;i<6;i++) { for(j=0;j

169 评论(13)

孤星泪新民

举个例子,在for语句里加入了while循环,如果while的条件满足,则执行下面的语句,然后跳出这个循环,然后执行下一个语句。

179 评论(12)

杨杨d妈咪

for 循环的格式为:for(表达式1;表达式2;表达式3){ 语句块;}因此嵌套的时候要明白 怎样才是嵌套,如下所示:for(表达式1;表达式2;表达式3){ for(表达式4;表达式5;表达式6) //这里的for循环就是嵌套的 { 语句块; }} //你所谓的第二个for后边用不用加分号,不知道你想要做什么;规范的 标准的嵌套如上所示如果你直接不加{}而是直接向你上边那样for() for(表达式4;表达式5;表达式6) ; 这里直接在for循环后边添加一个分号 就表示 当条件表达式5成立的时候只去执行表达式6,然后进入下一次循环,知道表达式5不成立退出循环如果不加分号,那么这个内层循环控制的语句 就会是最近一个添加了分号的这条语句,如下:for() for(表达式4;表达式5;表达式6) 语句1; 至于你上边提到的,那是语法问题,c语言必须是以分号 或者 语句块标识{} 作为一条语句 或者一段语句块的结束标志

214 评论(11)

相关问答