for循环

Python快速学习04:循环 & 函数

半腔热情 提交于 2019-12-20 09:33:39
前言   系列文章: [传送门]   也就今天认识了 LC ,很开心。      本文目录     循环       for       while       中断     函数       函数定义       函数调用 for循环     Python 中的for 循环象shell 脚本里的foreach 迭代。Python 中的for 接受 可迭代对象 (例如 序列 )作为其参数,每次迭代其中一个元素。 基本构造 for 元素 in 序列: statement 例子 for a in [3,4.4,'life']: print (a) #这个循环就是每次从表[3,4.4,'life'] 中取出一个元素,然后将这个元素赋值给a,之后执行隶属于for的操作(print)。 介绍一个新的Python函数range() idx = range(5) print (idx) #输出[0,1,2,3,4] 因此,可以再for中运用range() for a in range(10): print a**2 while循环 基本构造 while 条件: statement #while会不停地循环执行隶属于它的语句, 直到条件为假 (False) 例子 while i < 10: print (i) i = i + 1 中断循环   continue # 在循环的某一次执行中

第14~15周作业

浪子不回头ぞ 提交于 2019-12-20 09:07:33
要求二 题目7-4 fibonacci数列 1.实验代码 1 #include<stdio.h> 2 int main() 3 { 4 int i,f[12]={1,1}; 5 for(i=2;i<=11;i++) 6 f[i]=f[i-1]+f[i-2]; 7 for(i=0;i<=11;i++) 8 { 9 printf("%6d",f[i]); 10 if((i+1)%3==0) 11 printf("\n"); 12 } 13 return 0; 14 } 2.设计思路 (1)主思路 第一步:定义整数型变量i(循环变量)和整数型数组f(长度为12); 第二步:使用循环结构为数组f赋初值; 第三步:使用循环按格式输出数组f,循环内嵌套条件语句判断换行。 注解:数组前两个数要事先赋初值,还有要注意fibonacci数列的计算式。 (2)流程图 3.本题调试过程碰到问题及解决办法 换行判断条件为"i%3==0",导致错误,因为数组是从0开始计数的。 将判断条件改为"(i+1)%3==0"即可,也可以定义数组长度为13,然后从1开始计数。 题目7-14 组个最小数 1.实验代码 1 #include <stdio.h> 2 int main() 3 { 4 int count[10],i,x; 5 for(i=0;i<10;i++) 6 { 7 scanf("%d",&count

es6:for,foreach,for...in循环区别

我与影子孤独终老i 提交于 2019-12-20 08:16:58
es6:for,foreach,for…in循环区别 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script> const names = ['zhang','li','deng','mongodb']; // for(let i = 0;i < names.length;i++){ // console.log(names[i]); // } // names.forEach(name => { // console.log(name) // })//不可以终止这个循环 // for (let index in names) {//遍历对象中的可枚举的属性 // console.log(names[index]) // } for(let name of names){//他循环的事数组对象的属性,可以终止循环 console.log(name); } </script>

Java for循环的几种用法

感情迁移 提交于 2019-12-20 07:37:06
原文链接: Java for循环的几种用法 J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。 在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词的含义和这种操作比较配,在这种时候for循环比其它循环常用得多)。 对于遍历数组,这个循环一般是采取这样的写法: 清单1:遍历数组的传统方式 复制代码 代码如下: /* 建立一个数组 */ int[] integers = {1, 2, 3, 4}; /* 开始遍历 */ for (int j = 0; j < integers.length; j++) { int i = integers[j]; System.out.println(i); } 而对于遍历Collection对象,这个循环则通常是采用这样的形式: 清单2:遍历Collection对象的传统方式 复制代码 代码如下: /* 建立一个Collection */ String[] strings = {"A",

Python 跳出多重循环

江枫思渺然 提交于 2019-12-20 07:24:19
Python 本身没有“break n” 和“goto” 的语法,这也造成了Python 难以跳出多层(特定层数)循环。下面是几个跳出多层(特定层数)循环的tip。 1、自定义异常 class getoutofloop(Exception): pass try: for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: raise getoutofloop() else: print i, '----', j, '----', k except getoutofloop: pass 2、封装为函数return def test(): for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: return else: print i, '----', j, '----', k test() 3、for ... else ... 用法 上面的两种都是只能跳出多层而不能跳出特定层数的循环,接下来的这个正是为了跳出特定层数的循环。 for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: break

Python3 循环语句

瘦欲@ 提交于 2019-12-20 02:49:37
Python中的循环语句有 for 和 while,与C/C++的循环语句略有不同: Python循环语句的控制结构图如下所示: while 循环 Python中while语句的一般形式: while 判断条件: 语句 执行 Gif 演示: 同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。 以下实例使用了 while 来计算 1 到 100 的总和: 实例 #!/usr/bin/env python3 n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter += 1 print("1 到 %d 之和为: %d" % (n,sum))    执行结果如下: 1 到 100 之和为: 5050 无限循环 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下: 实例 #!/usr/bin/python3 var = 1 while var == 1 : # 表达式永远为 true num = int(input("输入一个数字 :")) print ("你输入的数字是: ", num) print ("Good bye!")    执行以上脚本,输出结果如下: 输入一个数字 :5 你输入的数字是: 5 输入一个数字 :    你可以使用 CTRL+C

初识C语言 (四)

為{幸葍}努か 提交于 2019-12-20 00:11:50
分支结构 if语句 C语言中的分支结构语句中的if条件语句,简单if语句的基本结构如下: 其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 其过程可表示为下图 实例: if(results == 100) //results为所考成绩 { printf("%s\n", "买玩具"); } 注释:if()后面没有分号,直接写() if-else语句 简单的if-else语句的基本结构如下: 其语义是:如果表达式的值为真,则执行代码块1,否则执行代码块2。其执行过程可表示为下图: 实例: if(results == 100) //results为所考的成绩 { printf("%s/n", "买玩具"); } else { printf("%s\n", "没有奖励"); } 注释:if没有()后面没有分号,直接写{},else后面也没有分号,直接写{} 实例: #include <stdio.h> int main() { int year = 2014; //今年是2014年 //补全一下代码 if((year%4 == 0 && year%100 != 0) || year%400 == 0) { printf("%s\n", "今年是闰年"); } else { printf("%s\n", "今年是平年"); } return 0; } 输出结果: 今年是平年

for 循环中的 i 变量取值问题

微笑、不失礼 提交于 2019-12-18 10:02:20
1:如何点击某一个 li 的时候 alert 输出其index? <ul id="test">   <li>111</li>   <li>222</li>   <li>333</li>   <li>444</li> </ul> window.onload = function(){   var oLis = document.getElementById("test").getElementsByTagName("li");   for(var i = 0;i < oLis.length;i ++){     oLis[i].onclick = function(){       alert(i); //每次都是4     }   } } 解析:因为在for循环里面指定给oLis[i].onclick的事件处理程序,也就是onclick那个匿名函数是在for循环执行完成后(用户点击时)才被调用的。而调用时,需要对变量i求值,解析程序首先会在事件处理程序内部查找,但i没有定义,然后又到方法外部查找,此时有定义,但i的值是4(只有i大于4才会停止执行for循环),因此,就会取到该值——这正是闭包(匿名函数)要使用其外部作用域中变量的结果。而且,这也是由于匿名函数本身无法传递参数(故而无法维护自己的作用域)造成的.(比较啰嗦,可以看下面的解释) 其实是根据作用域链的原理

【求解思路】计算三层for循环的时间复杂度

独自空忆成欢 提交于 2019-12-18 07:46:22
求划线部分的执行次数为 for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { for (int k = 1; k <= j; k++) { x=x+y; } } } 对于这类问题,直接列出最外层的前几项执行次数: ①对于i=1,执行次数是1次 ②对于i=2,执行次数是1+2次 ③对于i=3,执行次数是1+2+3次 所以可以总结出规律,对于n取多少,执行次数 = 即有 注意:这里用了两个数列的数学运算公式 所以执行次数(空间复杂度): 这里对该问题进行一个扩展,即将最内部第三层循环的初始化变量k改为0进行求解: 求划线部分的执行次数为 for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { for (int k = 0 ; k <= j; k++) { x=x+y; } } } 相应的执行次数也改变了,还是列出前几项的执行次数: ①对于i=1,执行次数是1+2-1次 ②对于i=2,执行次数是1+2+3-1次 ③对于i=3,执行次数是1+2+3+4-1次 所以可以总结出规律,对于n取多少,执行次数 = 即有 所以执行次数(空间复杂度): 来源: CSDN 作者: Rbin_0311 链接: https://blog.csdn.net/qq

Lua for循环

倖福魔咒の 提交于 2019-12-18 05:29:07
在Lua中for语句跟其他语言的for类似,语法上有一点点区别。Lua的for语句有两种:数字型和泛型 数字型: for var=exp1,exp2,exp3 do <执行体> end var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次“执行体”。exp3是可选的,如果不指定,默认为1。例如 for i=1,f(x) do print(i) end for i=10,1,-1 do print(i) end for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次,其结果用在后面的循环中。 可以验证如下: #!/usr/local/bin/lua function f(x) print("function") return x*2 end for i=1,f(5) do print(i) end 输出: function 可以看到 函数f(x)只在循环开始前执行一次。 泛型:泛型for循环通过一个迭代器函数来遍历所有值,类似java中的foreach语句 --打印数组a的所有值 for i,v in ipairs(a) do print(v) end i是数组索引值,v是对应索引的数组元素值。ipairs是Lua提供的一个迭代器函数,用来迭代数组。 例如 #!/usr/local/bin/lua days =