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 |
|
| 54 | 科技 | 美国 |
2 |
|
| 62 | 科技 | 美国 |
3 |
|
| 87 | 投资 | 美国 |
4 |
|
| 78 | 商业 | 法国 |
5 |
|
| 33 | 科技 | 美国 |
6 |
|
| 78 | 科技 | 墨西哥 |
7 |
|
| 81 | 商业 | 西班牙 |
8 |
|
| 73 | 科技 | 美国 |
9 |
|
| 66 | 能源 | 美国 |
10 |
|
| 82 | 能源 | 美国 |
11 |
|
| 44 | 科技 | 美国 |
12 |
|
| 76 | 科技 | 美国 |
13 |
|
|
| 科技 | 美国 |
14 |
|
|
|
|
|
15 |
|
|
|
|
|
16 |
|
|
|
|
|
17 |
|
|
|
|
|
18 |
|
|
|
|
|
19 |
|
|
|
|
|
20 |
|
|
|
|
|