for循环是一个计次循环,通常适用于枚举或遍历序列,以及迭代对象中的元素。一般应用在循环次数已知的情况下。语法如下:
for迭代变量in对象:循环体for循环语句执行的流程图:
1.1进行数值循环
例1:
foriin[1,2,3]:print("笑傲江湖")例2:
foriin["明日","昨日","今日","未来"]:print(i)例3:
print("计算1+2+3.....+100的结果为:")result=0foriinrange(101):result+=iprint(result)range()函数,该函数是python内置函数用于生成一系列连续的整数。语法格式如下:
range(start,end,step)
参数说明:
start:用于指定计数的起始值,可以省略,如果省略则从0开始
end:用于指定计数的结尾值,(但是不包括该值,如range(7)得到的值为0--6,不包括7),不能省略。当range函数只有一个参数时,即表示指定计数的结束值。
step:用户指定步长,即两个数之间的间隔,可以省略。
注意:在使用range()函数时,如果只有一个参数,那么表示指定的是end;如果是两个参数,则表示指定的是start和end;只有三个参数都存在时,最后一个才表示步长。
例如,输出10以内的奇数:
foriinrange(1,10,2):print(i,end='')1.2遍历字符串
例子:
string='天道酬勤'forchinstring:print(ch)2.while循环
while循环是通过一个条件来控制是否要继续反复执行循环体的语句。语法如下:
while条件表达式:循环体循环体是指一组被重复执行的语句
当条件表达式当返回值为ture时,则执行循环体中当语句;执行完毕后,重新判断条件表达式的返回值,直到表达式返回值结果为false时,退出循环。while循环语句执行流程如下图:
例子:下面利用while循环输出3遍“笑傲江湖”
i=1whilei<=3:print("笑傲江湖")i=i+1例2:设定取款机上取款要输入1位密码,当密码输入正确,输出密码正确,正在进入系统。如果输入错误,密码错误,您已经输入*次。连续输入6次,输出请与发卡行联系。代码如下
password=0i=1whilei<7:num=input("请输入一位数字密码:")num=int(num)ifnum==password:print("密码正确,正在进入系统")i=7else:print("密码错误,已经输错",i,"次")i+=1ifi==7:print("密码错误6次,请与发卡行联系")3.循环嵌套
while条件表达式1:
while条件表达式2:
循环体2
循环体1
for循环嵌套:
for迭代变量1in对象1:
for迭代变量2in对象2:
while循环套用for循环
while条件表达式:
for迭代变量in对象:
for循环中套用while
注意:就近原则
4.跳转语句
4.1break语句
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。简单来说就是完全终止循环;
break语句用在while和for循环中。
break语句一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环;如果break语句在嵌套循环中,跳出的是最内层循环
例1:
forletterin'Python':#第一个实例ifletter=='h':breakprint("当前字母:",letter)运行结果:
当前字母:P当前字母:y当前字母:t例2:
var=10whilevar>0:print("当前变量值:",var)var=var-1ifvar==5:breakprint("bye")运行结果:
当前变量值:10当前变量值:9当前变量值:8当前变量值:7当前变量值:6bye4.2continue语句
continue语句跳出本次循环,而break跳出整个循环。
continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
例子:逢七游戏(从1--100,计算7和7的尾数出现多少次)
tatal=0fornumberinrange(1,100):#创建一个从1到100到循环,注意不包括100ifnumber%7==0:#判断是否为7到倍数tatal+=1continue#继续下一次循环else:string=str(number)#将数值转换为字符串ifstring.endswith('7'):#判断是否是以7结尾tatal+=1continueprint("从1到99共逢七多少次:",tatal)
小测验:
福布斯发布了2019年全球富豪榜。请编写一个程序,从所给的文件中读取想过数据,将所属行业为“科技”界的富豪重新分类排行并输出new.txt