循环语句:
while 语句for 语句
while语句:
问题:输入一个整数n,让程序输出n行的hello 1,hello 2 …… hello n
#! /usr/bin/python3
n=int(input("输入一个整数:"))
i=1
while i <=n:
print('hello',i)
i+=1
作用:
根据一定条件,重复的执行一条语句或多条语句
语法:
while 真值表达式:
语句块1……
else:
语句块2
说明:
1、先执行真值表达式,测试布尔值为True或False
2、如果真值表达式的测试值为True,则执行语句块1,
然后再返回到第一步重复进行测试
3、如果真值表达式的值为False,则执行else子句中
的语句块2,然后结束此while语句的执行。如果
没有else子句,则直接结束while语句的执行
4、else子句部分可以省略(同if语句类似)
示例:
#! /usr/bin/python3
#打印10行hello
i = 1 # 创建并初始化一个控制while循环的变量
while i <= 10: #
print('hello') # 此处会执行10次
i += 1 # 将循环变量每次做+1操作,以控制循环条件
while语句的注意事项:
1、要控制循环的真值表达式的值来防止死循环2、通常用真值表达式中的循环变量来控制循环条件
3、通常在循环语句块内需要改变循环变量来控制循环的次数和变量的走向
while语句嵌套:
while语句本身是语句,和其他语句一样可以嵌套在其他语句中(如:if语句,while语句,for语句……的内部)
while语句嵌套示意:
while 真值表达式:……
while 真值表达式2:
……
else:
……
else:
……
示例:
#! /usr/bin/python3
i = 1
while i <= 20:
print(i)
j = 1
while j <= 20:
print(j, end=' ')
j += 1
else:
print()
i += 1
break语句:
作用:
用于循环语句(while语句,for语句)中,用来终止当前循环语句的执行
说明:
1、当break语句执行后,此循环语句break之后的语句将不再执行
2、break语句通常和if语句组合使用
3、break语句终止循环时,循环语句的else子句将不会被执行
4、break语句只能终止当前循环的执行,如果有循环嵌套时,
不会跳出嵌套的外层循环
5、break语句只能在循环语句(while语句,for语句)内部使用
示例:
#! /usr/bin/python3
i = 1
while i < 10:
print('循环开始时i =', i)
if i==5:
break
print('循环结束时i =', i)
i += 1
print('程序即将推出')
死循环death loop:
1、死循环是指循环条件一直成立的循环2、死循环通常用break语句来终止循环
3、死循环的else子句永远不会执行
示例:
用input输入一些文字,当输入三个星号时代表输入结束
打印您刚输入的所有文字(换行时自动加上换行符)
#! /usr/bin/python3
s=''
while True:
str=input('请输入(***结束):')
if str == '***':
break
s+=str+"\n"
print('您刚输入的是:\n',s)
for 语句(循环语句)
作用:
用来遍历可迭代对象的数据元素
语法:
for 变量列表 in 可迭代对象:
语句块1……
else:
语句块2……
语法说明:
1、可迭代对象每次提供一个元素依次赋值给变量列表中的变量,赋值完毕后执行语句块1,重复执行此步骤
2、当可迭代对象不能提供数据时,执行else子句部分的语句块2,然后退出循环
3、else子句部分可以省略(同while语句类似)
4、当语句内部用break终止循环时,else子句部分语句块2不会执行
可迭代对象是指能依次获取数据元素的对象
示例:
#! /usr/bin/python3
s='abcde'
for x in s:
print('----->',x)
else:
print('for循环因迭代结束而终止')
运行结果:
-----> a
-----> b
-----> c
-----> d
-----> e
for循环因迭代结束而终止
range函数:
作用:用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
调用格式:
range(stop)
从零开始,每次生成一个整数后加一操作,直到stop为止(不包括stop)
range(start,stop[,step])
从start开始,每次生成一个整数后移动step,直到stop为止(不包括stop且step可以为负整数)
示例:
range(4) #生成 0 1 2 3
range(3, 6) #生成 3 4 5
range(1, 10, 2) #生成 1 3 5 7 9
range(5, 0, -2) #生成 5 3 1
range(4, 1) #生成 空
for语句嵌套:
示意:for x in 'abc':
for y in '123':
print(x+y)
coutinue语句
作用:用于循环语句(while语句,for语句)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环
说明:
1、在while语句中执行continue语句,将直接跳转到while语句的真值表达式处重新判断循环条件
2、在for语句中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次进行循环
示例:
#! /usr/bin/python3
# 打印5以内的整数,跳过2
for i in range(5):
if i==2: #如果i等于2,重新开始一次新的循环
continue
print(i)
问题:
输入一个开始的整数值用变量begin绑定
输入一个结束的整数值用变量end绑定
打印从begin到end(不包含end)所有的偶数
#! /usr/bin/python3
begin = int(input('请输入开始值:'))
end = int(input('请输入结束值:'))
for i in range(begin, end):
if i % 2 == 0:
continue
print(i)