1.for循环
for循环是一个计次循环,通常适用于枚举或遍历序列,以及迭代对象中的元素。一般应用在循环次数已知的情况下。语法如下:
for 迭代变量 in 对象: 循环体
for循环语句执行的流程图:
1.1 进行数值循环
例1:
for i in [1,2,3]: print("笑傲江湖")
例2:
for i in ["明日","昨日","今日","未来"]: print(i)
例3:
print("计算1+2+3.....+100的结果为:") result = 0 for i in range(101): result += i print(result)
range()函数,该函数是python内置函数用于生成一系列连续的整数。语法格式如下:
range(start,end,step)
参数说明:
start:用于指定计数的起始值,可以省略,如果省略则从0开始
end:用于指定计数的结尾值,(但是不包括该值,如range(7)得到的值为0--6,不包括7),不能省略。当range函数只有一个参数时,即表示指定计数的结束值。
step:用户指定步长,即两个数之间的间隔,可以省略。
注意:在使用range()函数时,如果只有一个参数,那么表示指定的是end;如果是两个参数,则表示指定的是start和end;只有三个参数都存在时,最后一个才表示步长。
例如,输出10以内的奇数:
for i in range(1,10,2): print(i,end = \' \')
1.2遍历字符串
例子:
string = \'天道酬勤\' for ch in string: print(ch)
2.while 循环
while循环是通过一个条件来控制是否要继续反复执行循环体的语句。语法如下:
while 条件表达式: 循环体
循环体是指一组被重复执行的语句
当条件表达式当返回值为ture时,则执行循环体中当语句;执行完毕后,重新判断条件表达式的返回值,直到表达式返回值结果为false时,退出循环。while循环语句执行流程如下图:
例子:下面利用while循环输出3遍“笑傲江湖”
i = 1 while i <= 3: print("笑傲江湖") i = i+1
例2:设定取款机上取款要输入1位密码,当密码输入正确,输出密码正确,正在进入系统。如果输入错误,密码错误,您已经输入*次。连续输入6次,输出请与发卡行联系。代码如下
password = 0 i = 1 while i < 7 : num = input("请输入一位数字密码:") num = int(num) if num ==password: print("密码正确,正在进入系统") i = 7 else: print("密码错误,已经输错",i,"次") i+= 1 if i == 7: print("密码错误6次,请与发卡行联系")
3.循环嵌套
while 条件表达式1:
while 条件表达式2:
循环体2
循环体1
for循环嵌套:
for 迭代变量1 in 对象1:
for迭代变量2 in 对象2:
循环体2
循环体1
while循环套用for循环
while 条件表达式:
for 迭代变量 in 对象:
循环体2
循环体1
for循环中套用while
for 迭代变量 in 对象 :
while 条件表达式:
循环体2
循环体1
注意:就近原则
4.跳转语句
4.1 break语句
break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。简单来说就是完全终止循环;
break 语句用在 while 和 for 循环中。
break语句一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环;如果break语句在嵌套循环中,跳出的是最内层循环
例1:
for letter in \'Python\': # 第一个实例 if letter == \'h\': break print("当前字母:",letter)
运行结果:
当前字母: P 当前字母: y 当前字母: t
例2:
var = 10 while var > 0: print("当前变量值:",var) var = var-1 if var == 5: break print("bye")
运行结果:
当前变量值: 10 当前变量值: 9 当前变量值: 8 当前变量值: 7 当前变量值: 6 bye
4.2continue语句
continue 语句跳出本次循环,而 break 跳出整个循环。
continue 语句用来告诉 Python 跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue 语句用在 while 和 for 循环中。
例子:逢七游戏(从1--100,计算7和7的尾数出现多少次)
tatal = 0 for number in range(1,100): #创建一个从1到100到循环,注意不包括100 if number%7 ==0: #判断是否为7到倍数 tatal += 1 continue #继续下一次循环 else: string = str(number) #将数值转换为字符串 if string.endswith(\'7\'): #判断是否是以7结尾 tatal += 1 continue print("从1到99共逢七多少次:",tatal)
小测验:
福布斯发布了2019年全球富豪榜。请编写一个程序,从所给的文件中读取想过数据,将所属行业为“科技”界的富豪重新分类排行并输出new.txt
排名 | 中文名 | 财富 | 年龄 | 类别 | 国家 |
1 |
杰夫贝素斯 |
1284亿美元 |
54 | 科技 | 美国 |
2 |
比尔盖茨 |
915亿美元 |
62 | 科技 | 美国 |
3 |
沃伦巴菲特 |
879亿美元 |
87 | 投资 | 美国 |
4 |
伯纳德阿诺特及家族 |
764亿美元 |
78 | 商业 | 法国 |
5 |
马克扎克伯格 |
735亿美元 |
33 | 科技 | 美国 |
6 |
卡浩斯斯利烟埃卢及家族 |
695亿美元 |
78 | 科技 | 墨西哥 |
7 |
阿曼西奥·奥特加 |
695亿美元 |
81 | 商业 | 西班牙 |
8 |
拉利埃里森 |
632亿美元 |
73 | 科技 | 美国 |
9 |
大卫科赫 |
608亿美元 |
66 | 能源 | 美国 |
10 |
查尔斯·科赫 |
608亿美元 |
82 | 能源 | 美国 |
11 |
拉里佩奇 |
522亿美元 |
44 | 科技 | 美国 |
12 |
迈克尔·布隆伯格 |
508亿美元 |
76 | 科技 | 美国 |
13 |
谢尔盖·布林 |
508亿美元 |
44 |
科技 | 美国 |
14 |
马化腾 |
491亿美元 |
46 |
科技 |
中国 |
15 |
梅耶尔·贝当古 |
446亿美元 |
64 |
商业 |
法国 |
16 |
吉姆·沃尔顿 |
419亿美元 |
69 |
商业 |
美国 |
17 |
S.罗伯森·沃尔顿 |
418亿美元 |
73 |
商业 |
美国 |
18 |
艾丽斯·沃尔顿 |
416亿美元 |
68 |
商业 |
法国 |
19 |
谢尔登·阿德尔森 |
411亿美元 |
84 |
娱乐 |
美国 |
20 |
马云 |
406亿美元 |
53 |
科技 |
中国 |