Python中的循环结构有for循环和while循环
当某个字符操作或者某段代码需要重复执行时,就需要用到循环结构;
一、
1、for循环结构
语法:
for 变量 in 序列:
》》循环体
说明:
for ————关键字,固定写法
变量————变量名,按照变量名要求命名
in ————关键字,写法固定
序列————要求是一个值,而且必须是一个序列(容器),比如:字符串、列表、字典、集合、元祖、迭代器、范围(range)
循环体————和for保持一个缩进的代码段,循环体会被重复执行
执行过程————让变量去序列里取值,一个一个的取,取完为止。每取一个值,执行一次循环体
练习:获取字符串'a78and71-2cd'
num=0
for nu in 'a78and71-2cd':
if nu.isdigit():
num+=1 #num=num+1
print(num)
2、range函数
range(n):产生一个0~n-1范围的对应整数序列
xrange是Python2.x的产物
for x in range(10):
print(x) #0、1、2、3、4、5、6、7、8、9即循环10次;
range(m,n):产生一个m~n-1范围的对应整数序列
for x in range(10,20):
print(x) #10、11、12、13、14、15、16、17、18、19
range(m,n,z):在m~n-1中产生一个间隔为z(等差为z)的对应整数序列
for x in range(1,10,3):
print(x) #1、4、7
练习:计算从1+2+3+4.......+100
num=0
for x in range(1,101):
num+=x
print(num)
练习:打印5行666666
for x in range(5):
print(666666)
666666
666666
666666
666666
666666
注意:变量x的循环结果不一定会被使用,比如我们只是单纯的想利用其循环的次数重复某个循环体
二、
1、while循环结构
语法:
while 条件语句:
循环体
while :
pass
说明:
while————关键字
条件语句————和if后面的条件语句一样,可以是任何有值的表达式(不能是赋值语句)
:————固定写法
循环体————重复执行的代码段,循环体和while要保持一个缩进
执行过程————判断条件语句的结果是否为True,为True执行循环体。执行完循环体,再判断条件语句是否为True,为True再执行循环体。 以此类推,直到判断条件语句为False,停止执行循环体。
注意:while True ————死循环;
练习:求 10!=1* 2* 3.......* 10
num=1;n=1
while num<10 :
num+=1
n*=num
print(n)
练习:用while循环获取字符"hello python"中的每个字符
n=0
str='hello python'
while n<len(str):
print(str[n])
n+=1
三、for和while循环的选择
1、如果是不断的获取序列中的元素,直接使用for循环
2、如果循环次数确定,最好也使用for循环
3、死循环和循环次数不确定的时候最好使用while
练习 :随机产生一个0~100的数字,不断的输入数字,直到输入的数字和产生的随机数字相同为止,
如果猜错,提示大了或者小了;
import random
#产生一个随机数
number = random.randint(0, 100)
#返回从键盘接收到的数据(输入的时候以回车结束),返回的数据类型是字符串
in_num = input('请输入一个整数:')
in_num = int(in_num)
while in_num != number:
if in_num > number:
print('太大了,再小点')
else:
print('太小了,再大点')
in_num = input('请输入一个整数:')
in_num = int(in_num)
print('恭喜你!猜对了:', number)
四、
1、continue
只能写在循环体中,遇到continue就结束当次循环,直接进行下次循环的判断
下次循环的判断:for循环————让变量取下一个值,while循环————判断条件是否为True
练习:计算1~100非奇数的和
sum=0
for x in range(1,101):
if x%2==1:
continue
sum+=x
print(sum)
2、break
只能写在循环体中,只要在循环语句中遇到break,整个循环直接结束。直接执行循环后面其他语句
3、else
for 变量 in 序列:
》》循环体
else:
》》代码块
=============
while 条件语句:
》》循环体
else:
》》代码块
循环自然结束后,执行else后面的代码。如果循环是遇到break结束,else后面的代码块就不会执行。
for x in range(1,10):
if x==5:
continue
print(x) #1、2、3、4、6、7、8、9、10(缺5)
else:
print("========") #此行代码会执行
==========
for x in range(1,10):
if x==5:
break
print(x) #1、2、3、4
else:
print("========") #此行代码不会执行