for循环

排序算法(Python实现)

*爱你&永不变心* 提交于 2020-01-15 07:20:03
1.冒泡排序 def bubble_sort ( lst ) : for i in range ( 1 , len ( lst ) ) : # 第n次循环找到排序后第len(lst)-n+1个位置的值【相对最大值】 for j in range ( 0 , len ( lst ) - i ) : if lst [ j ] > lst [ j + 1 ] : lst [ j + 1 ] , lst [ j ] = lst [ j ] , lst [ j + 1 ] return lst print ( bubble_sort ( [ 0 , 5 , 2 , 1 ] ) ) 2.选择排序 # 方式:找到len(lst)个相对最小值(两层for循环实现)。 def select_sort ( lst ) : for i in range ( len ( lst ) - 1 ) : # 第n次循环找到排序后第n个位置的值【相对最小值】 for j in range ( i + 1 , len ( lst ) ) : if lst [ j ] < lst [ i ] : lst [ i ] , lst [ j ] = lst [ j ] , lst [ i ] return lst print ( select_sort ( [ 0 , 5 , 2 , 1 ] ) ) 1-2

Python的range函数与for循环语句

删除回忆录丶 提交于 2020-01-15 07:08:14
Python的range函数与for循环语句 米粒教育 发布时间:18-11-1518:49 介绍Python for循环语句和range函数的使用,文中主要讨论for循环语句,Python的for循环语句类似于shell或是脚本语言中的foreach循环,可以迭代序列对象。 使用range函数可以让Python的for循环提供类似于传统的for循环功能。 通过本篇的学习,可以达成如下目标。 使用for循环语句迭代序列对象 掌握range函数的使用方法 Python提供的另外一个循环结构就是for循环语句,Python提供的for循环语句和Java、C++等编程语言提供的for语句不同,Python中的for循环更像是shell或是脚本语言中的foreach循环。 它可以遍历如列表、元组、字符串等序列成员(列表、元组、字符串也称为序列),也可以用在列表解析和生成器表达式中。 1、 使用序列项迭代序列对象 通过for循环可以迭代序列对象的所有成员,并在迭代结束后,自动结束循环,其语法如下: for iter_var in list: 语句块; 其中,iter_var是迭代变量,指向序列对象的元素,list是可迭代对象。语句块是循环体,在循环体中可以使用iter_var访问可迭代对象的元素。 例1:使用Pyhton列表建立一个同学花名册,使用for循环迭代输出花名册内容。

【Python基础】之for循环、数组字典

强颜欢笑 提交于 2020-01-15 06:46:35
一、 for循环实例 1.循环字符串 Python Shell: for i in "hello": print(i) h e l l o 2.循环数组 Python Shell: n = ['1',"2",'3'] for i in n: print(i) 1 2 3 3.一定次数的循环range() Python Shell: for i in range(2,11,2): print(i) 2 4 6 8 10 range(start,end,step),start为起始数(包含),end为截至(不包含),step为递增的幅度 二、数组与字典 1.无序列数组:list Python Shell: list = [1,"2",'b','a'] list[0] 1 list[2] = 'a' list [1,'2','a','a'] list.append('c') list [1,'2','a','a','c'] Python 允许在数组里面任意地放置数字或字符串。需要注意的是,数组下标是从 0 开 始的,所以,lists[0]会输出数组中的第一项。append()函数可以向数组末尾追加新的项。 =================扩展:===================== #扩展: #在list插入指定的位置的字符 list = ['aa','zc','bb'] list

Java循环结构

时光总嘲笑我的痴心妄想 提交于 2020-01-15 01:39:12
Java循环结构 public class LoopStructure { /* while 循环 do…while 循环 for 循环 */ public static void main(String[] args) { //while循环 ,布尔表达式为true 就会一直执行下去, 不满足条件则无法进入循环 System.out.println("while 循环"); int x = 10; while (x < 20) { System.out.println(x); x++; } // do…while 循环,至少执行一次 /* do { //代码语句 }while(布尔表达式); */ System.out.println("do…while循环"); int y = 10; do { System.out.println(y); y++; } while (y < 10); // for 循环,执行前就确定执行次数 /* for(初始化; 布尔表达式; 更新) { //代码语句 } */ System.out.println("for 循环"); for (int z = 0; z < 20; z = z + 1) { System.out.println(z); } //增强for循环 /* for(声明语句 : 表达式) { //代码句子 } */ System

for循环结构

梦想与她 提交于 2020-01-14 23:55:31
for循环 for循环语句是java中使用最为频繁的的循环语句。可以执行指定的次数,并维护自己的计数器 for循环语法格式 for (初始表达式; 条件表达式; 迭代表达式) { 循环语句; } for循环语法格式 for (初始表达式; 条件表达式; 迭代表达式) { 循环语句; } 初始表达式是在for循环首次执行时要计算的表达式。通常,这里会为一个循环变量初始化一个值 条件表达式(循环条件)用于每次循环前的条件判断,只有在条件表达式值为true时,才入到循环语句执行。 迭代表达式则在循环语句执行完成后进行计算,一般来说使用一个递增或递减的计数器作为迭代表达式,改变循环变量的值 for循环执行过程 1. for语句执行时,首先执行初始表达式(只是第一次执行),然后判断条件表达式的值,如为true则转向2,如为false则转向4。 2. 执行循环语句;循环语句执行完成,转向3 3. 计算迭代表达式,计算完,转向1。 4. 结束for循环。 for循环的优点 在一个地方包括循环的全部规则,不是把几个语句放在代码的不同地方。使代码更易于阅读。适用于循环的开始和结束已知,循环次数固定的场合。 while循环多适用于循环次数不确定,仅需知道循环终止条件的场合 for循环流程图 死循环 死循环 不会停止的循环。 实现方式如下: for( ; ; ) { //循环体语句} /

Python之路【第二十一篇】:JS基础

落花浮王杯 提交于 2020-01-14 18:40:36
JavaScript的基础学习(一) 一、JavaScript概述 1.1 JavaScript的历史 ● 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) ● Netscape(网景)接收Nombas的理念,( Brendan Eich) 在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript ● 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript. ● 为了统一三家,ECMA( 欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。EcmaScript是规范. 1.2 ECMAScript 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的

等差数列,for循环,递归和尾递归的对比

╄→尐↘猪︶ㄣ 提交于 2020-01-14 16:03:35
生活中,如果1+2+3+4.....+100,大家基本上都会用等差数列计算,如果有人从1开始加,不是傻就是白X,那么程序中呢,是不是也是这样。今天无意中看到了尾递归,以前也写过,但是不知道这个专业名词,今天写一下对比下性能问题。 今天主要是看到了尾递归,所以联想到了这些,写下这篇文章,其中也把Benchmark (Nuget上的BenchmarkDotNet)的基准测试用了下,感觉比较好用,赞。Benchmark 需要在release下运行。 原则上所有的递归操作,都可以写成循环操作。尾递归是指,在函数返回的时候,调用自身本身,并且return语句不能包含表达式。这样编译器或者解释器就可以把尾递归做优化,试运行速度更快。 测试类 public class TestClass { /// <summary> /// for循环 /// </summary> /// <param name="n"></param> /// <param name="counter"></param> /// <returns></returns> public int TestFor(int n) { int s = 1; for (int i = 2; i < n + 1; i++) { s = s + i; } return s; } /// <summary> /// 等差数列 /// <

增强for循环

被刻印的时光 ゝ 提交于 2020-01-14 05:42:48
1.原理:底层使用迭代器,使用for循环的格式。 2.适用:遍历 集合和数组。 3.格式: for ( 集合 / 数组的数据类型 变量名:集合名 / 数组名 ) { sout ( 变量名 ) ; } 列1,普通for循环: int [ ] num = { 1 , 2 , 3 , 4 , 5 , 6 } ; for ( int i = 0 ; i <= num . length ; i ++ ) { System . out . print ( num [ i ] ) ; } 列1,增强for循环: int [ ] num = { 1 , 2 , 3 , 4 , 5 , 6 } ; for ( int i : num ) { System . out . print ( i ) ; } 列2,增强for循环遍历集合: ArrayList < String > list = new ArrayList ( ) ; list . add ( "aaa" ) ; list . add ( "bbb" ) ; list . add ( "ccc" ) ; for ( String s : list ) { System . out . println ( s ) ; } 来源: CSDN 作者: Pluto20150714 链接: https://blog.csdn.net/weixin

for循环和while循环

坚强是说给别人听的谎言 提交于 2020-01-13 06:05:06
for 循环的第一行被称为for 循环头。for 循环总是以关键字for 打头,接下来是循环变量,然后是关键字 in。关键字in 后面通常是(但并非总是)range(n)和结束符号:。 range(n)的默认初始值是0,范围为 [0,n)。从0到n,但不包括n。 range(a,b)的范围是 [a,b),从a 到 b,但不包含b。 range(a,b,c)的范围是从a开始,然后每次加上步长c,直到范围b,不包含b。 #count10.py for i in range(10): print(i) print('#####################################') for i in range(5,10): print(i) print('#####################################') for i in range(2,10,3): print(i) print('#####################################') 执行结果为 0 1 2 3 4 5 6 7 8 9 ##################################### 5 6 7 8 9 ##################################### 2 5 8 ##########################

第三次实验

半世苍凉 提交于 2020-01-13 01:16:05
part1 #include <stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a+b>c && a+c>b && b+c>a) { if(a==b || a==c || b==c) { if (a==b && a==c) printf("构成等边三角形\n"); else printf("构成等腰三角形\n"); } else printf("构成一般三角形\n"); } else printf("不能构成三角形\n"); return 0; } 插入循环语句 #include <stdio.h> int main() { double a,b,c; printf("输入三角形三边:\n"); while(scanf("%lf%lf%lf",&a,&b,&c)) { if(a+b>c && a+c>b && b+c>a) { if(a==b && a==c) printf("构成等边三角形\n"); else if(a==b || a==c || b==c) printf("构成等腰三角形\n"); else printf("构成一般三角形\n"); } else printf("不能构成三角形\n"); printf("\n输入三角形三边:\n"); } return 0; }