循环语句

for

循环指定范围的代码,是一种定次循环(循环次数已知)

可用来生成数字序列,可用来遍历字符串,元组,列表,字典

range

一般配置range函数生成数字序列或者实现定次循环

格式:for 变量名 in range(start,end,step):
循环代码块

  1. start:用于指定计数的起始值,如果省略不写,则默认从 0 开始。
  2. end:用于指定计数的结束值(不包括此值),此参数不能省略。
  3. step:用于指定步长,即两个数之间的间隔,如果省略,则默认步长为 1。

如果变量名换为”_”不会创建变量

例:
for i in range(0,10):
    if i == 9:
        print(i)
    else:
        print(i,' - ', end='')
#运行
0  - 1  - 2  - 3  - 4  - 5  - 6  - 7  - 8  - 9
例:
for _ in range(10):
    print("hello world!")
#运行
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!

for循环遍历列表

格式:for 变量名 in 元组|列表|字典|字符串|集合
循环代码块

例:
userlist = ["zs", "lisi", "ww"]
for name in userlist:
    print("我叫%s,我是个高手,楼下是个草拟奥" % name)
#运行
我叫zs,我是个高手,楼下是个草拟奥
我叫lisi,我是个高手,楼下是个草拟奥
我叫ww,我是个高手,楼下是个草拟奥
例:

for循环遍历字典

user_info = {
    'name' : 'zs',
    'age'  : 99,
    'sex'  : 'man',
    'like' : 'money and woman is life!'
}
for key in user_info:
    print(key, user_info[key])
#运行
name zs
age 99
sex man
like money and woman is life!

for循环遍历字符串

利用len计算字符串长度,通过下标遍历字符串

name = "chai"
for i in range (len(name)):
    print(name[i])
#运行
c
h
a
i

for多列表循环

zip():拉链函数,两个变量索引下标一一对应

如果两个索引长度不对称时,会按照最短进行处理

a = [1,2,3,4,5]
b = [6,7,8,9,10,11]
for x,y in zip(a,b):
    print(x,y)
#运行
1 6
2 7
3 8
4 9
5 10

for嵌套循环

不建议超过三层

for x in range(10):
    for y in range (10):
        print(x,y)
#运行
0 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
...
9 0
9 1
9 2
9 3
9 4
9 5
9 6
9 7
9 8
9 9

for做99乘法表

第一种方法:
for i in range(1,10):
    for n in range(1,i+1):
        print(' %sx%s=%s ' % (i,n,i*n),end='')
    print()    #一行完了换行功能
第二种方法:
for x in range(1, 10):
    for y in range(1, x+1):
        print("%sx%s=%2s " % (x, y ,x*y), end='')
    print()
#我们来解释一下
#一行一行来,第一行:
for i in range(1,10):   
#变量i的取值范围是1-10,实际取值是1-9,第一次循环i的值为1,以此类推直到值为10时跳出循环
    for n in range(1,i+1):   
#变量n的取值起始范围是1,结束范围由i的每次循环取值来控制
        print(' %sx%s=%s ' % (n,i,i*n),end='')
#i第一次循环取值为1,所以n的第一次循环取值范围为(1,2),实际取值只有1
#此时i和n的取值都为1,输出i*n=in也就是占位符%s转换后为1x1=1
#第二次外循环时外循环i的取值为2,内循环n的range范围为(1,2+1)也就是1和2
#第二次外循环的第一次内循环n的值为1,i的值为2,输出的则为1x2=2
#第二次外循环的第二次内循环n的值为2,i的值为2,输出的则为2x2=4
#第三次外循环时外循环i的取值为3,内循环n的range范围为(1,3+1)也就是1、2、3
#第三次外循环的第一次内循环n的值为1,i的值为3,输出的则为1x3=3
#第三次外循环的第二次内循环n的值为2,i的值为3,输出的则为2x3=6
#第三次外循环的第二次内循环n的值为3,i的值为3,输出的则为3x3=9
以此来推
……………………

 #运行
1x1=1
1x2=2   2x2=4
1x3=3   2x3=6   3x3=9
1x4=4   2x4=8   3x4=12  4x4=16
1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81

#第二种方法
for i in range(1,10):
    for n in range(1,i+1):
        print(f"{n}x{i}={i*n}",end="\t")
    print()

循环控制语句

continue

继续(跳过)

一旦当循环执行到continue语句时,会跳过当前循环的代码块,重新开始下次循环,continue之前的语句正常执行

for i in range(10):
    if i == 5:    如果值为5
        print("跳过5")
        continue
        print(i)   #该条语句在for语句中的continue之后,当i==5时将永远不会执行
    print(i)
#运行   结果中没有出现5
0
1
2
3
4
跳过5   #continue之前的正常执行,之后的没有执行
6
7
8
9

break

中断,跳过

for i in range(100):
    if i == 5:    
        print("停止")
        break
    print(i)
#运行
0
1
2
3
4
停止

while循环

是一种条件循环语句,条件成立则循环,反之,跳出循环

格式:
while 条件语句:
    可执行语句
例:
num = 0
while num < 10:
    print(num)
    num += 1
#运行
0
1
2
3
4
5
6
7
8
9

死循环

#玩火自焚
num = 0
while True:
    num += 1
    print(num)
while True:
    user_input = input("please input:")
    if user_input == 'exit':
        break
    else:
        continue
#运行
please input:sdf
please input:exit
PS G:\青鸟体系\云计算\python\python代码目录>

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0