Python中的循环有两种:for循环、while循环
1.for循环
a.语法
for 变量名 in 序列:
循环体
b.说明
for - 关键字,固定
变量名 - 和声明变量的时候的变量名要求一样
in - 关键字 ,固定
序列 - Python中的序列有:字符串、列表、元祖、字典、集合、range、生成器和迭代器
: - 固定写法
循环体 - 与for保存一个缩进的一条或者多条语句
c.执行过程
当程序执行至for循环时,让变量去序列中取值,依次取值,取完为止,每取一个值,执行依次循环体
for a in 'abcedf':
print(a)
print('====')
range函数
range(N) - N是正整数,产生0~(N-1)的所有整数
注意:xrange是Python2.x中的语法,Python3.x中无效
for num in range(4):
print(num)
# range(M,N) - M,N都是正整数,且N>M,产生M ~ N-1的所有整数
sum1 = 0
for num in range(100,1000):
sum1 += num
print(sum1)
# range(M,N,S) - M,N,S都是正整数,且N>M,产生M ~ N-1 .每次加S产生下一个数
for num in range(0,100,2):
print('===',num)
# 练习,计算1+2+3+……+100
sum1 = 0
for num in range(1,101):
sum1 +=num
print(sum1)
# 计算2*4*6*8*……*20的结果
product = 1
for num in range(2,21,2):
product *= num
print(product)
# 练习:计算0—100中所有能够被3或者5整除的数的和
sum1= 0
for num in range(101):
if (num % 3 == 0) or (num % 5 == 0):
sum1 +=num
print(sum1)
2.while循环
a.语法
while 条件语句:
循环体
b.说明
while - 关键字,固定写法
条件语句 - 除赋值运算以外的其他形式
: - 固定写法
循环体 - 与while保持一个缩进的一条或多条语句(会被重复执行的语句)
c.执行过程:
先判断条件语句是否为true,为true执行循环体,
执行完循环体后再判断条件语句是否为true,为true再次执行,
直至条件语句判断为false,循环结束
两个极端:
1.条件语句结果恒为True时,会造成死循环的现象
2.一开始条件语句的结果就为false,那么循环不会执行
# 练习:用while循环控制程序打印10行'===='
count = 0
while count<10:
print('=====')
count += 1
# 练习1:使用while打印0-10
num = 0
while num < 11:
print(num)
num +=1
# 练习2:使用while打印11-20
num = 11
while num < 21:
print(num)
num +=1
# 练习3:使用while打印2,4,6,8,……40
num = 2
while num < 41:
print(num)
num +=2
# 练习:不断输入,直到输入的值时100为止
num=0
while num != 100:
num=int(input('请输入数字'))
print(num)
# 补充:随机数
import random #导入random模块,Python内置专门用于产生与处理随机数模块
# randint(M,N) N>M产生M至N的随机数
random_num = random.randint(0,100)
# 练习:猜数字游戏
# 产生一个0-100的随机数,然后不断输入数字,直到输入的数字和产生的随机数一直为止
# 增加功能,统计猜对数字,玩家用了多少次
import random
random_num = random.randint(0,100)
n=1
num=int(input('请输入一个数字(0-100):'))
while num != random_num:
if num < random_num:
print('输入的数字偏小')
else:
print('输入的数字偏大')
num=int(input('请输入一个数字'))
n +=1
if n < 5:
print('猜对啦,随机数是:',num,'一共猜了',n,'次','厉害哟')
elif 5 <= n < 10:
print('猜对啦,随机数是:',num,'一共猜了',n,'次','还行')
else:
print('猜对啦,随机数是:',num,'一共猜了',n,'次','需要努力了哟')
3.for循环和while循环的选择
for循环:
1.遍历序列元素时使用for循环;2.循环次数确定是使用for循环
while循环:
1.需求死循环时使用while;2.循环次数不确定时使用while循环
3.continue
用法:continue是关键字,只能出现在循环体中
功能:当循环体执行至continue时,会结束当次循环,进入下一次循环
for x in range(10):
if x % 3 == 0:
continue
print(x)
print('=====')
4.break
用法:break为关键字,只能出现在循环体中
功能:当循环执行至break时,会结束循环
# 练习:从0+1+2+3+……,何时为止和超过1000000
print('==================一条华丽的分割线=========================')
sum1 = 0
num1 = 1
while 1:
sum1 +=num1
if sum1 >1000000:
break
num1 +=1
print(sum1,num1)
5.else
a.语法:
'''
for 变量 in 序列:
循环体
else:
语句块
while 条件语句:
循环体
else:
语句块
'''
b.执行过程:如果循环自然死亡,else对应语句块会执行;如果循环因为遇到break而结束,else语句不执行
for x in range(5):
print(x)
break
else:
print('循环结束')