循环语句
for
循环指定范围的代码,是一种定次循环(循环次数已知)
可用来生成数字序列,可用来遍历字符串,元组,列表,字典
range
一般配置range函数生成数字序列或者实现定次循环
格式:for 变量名 in range(start,end,step):
循环代码块
- start:用于指定计数的起始值,如果省略不写,则默认从 0 开始。
- end:用于指定计数的结束值(不包括此值),此参数不能省略。
- 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代码目录>