python中循环结构有两种:for和while
一 for的运用
1.循环的作用:让部分操作重复执行
2.怎么使用for循环
'''
1)语法
for 变量 in 序列:
循环体
2)说明
for、in ------ 关键字 是固定写法
变量 ------ 变量名,需要满足变量的要求
序列 ------ 容器类型的数据,Python常见的序列:字符串、列表、元祖、集合、字典、迭代器、生成器、range
: ------ 固定写法
循环体 ------ 和for保持缩进的一条或多条语句。(需要重复执行的代码)
3)执行过程
让变量去序列中取值,一个一个的取,取完为止;每取一个执行一次循环体。(序列中数据的个数决定了循环的次数)
'''
for x in 'python':
print(x)
print('====')
print('goodbye')
3. range
range是Python内置的一个用来生成数字序列的函数,在Python2.x中由xrange代替。
作用:1,结合for循环 控制循环次数。 2,结合for循环产生指定范围的数字。
range(N) ------产生数字范围:0 ~ N-1 (这儿的N是任意的正整数)
for x in range (10):
print (x)
range(M,N) ------产生的数字范围是M ~ N-1 (M,N时整数,且M<N)
示例:所有的三位数
for x in range (100,1000):
print (x)
range(M,N,step) ------ M,N,step都是整数,产生M~N-1,每次加step来产生下一个数(注意:如果step是负数,M>N.如果是正数,M<N)。
for x in range(0,100,2):
print(x)
for x in range(100,0,-2):
print(x) # 倒叙产生数字
练习1:使用for循环计算1+2+3+4......+100
sum1 = 0
for x in range(1,101):
sum1 += x
print (sum1)
sum1 = 0
num = (1,2,3,4)
num = 1 sum1 += num, sum1 = sum1+num , sum1 = 0 + 1 = 1
num = 2 sum1 += num, sum1 = sum1+num , sum1 = 1 + 2
num = 3 sum1 += num, sum1 = sum1+num , sum1 = 1+2+3
num = 4 sum1 += num, sum1 = sum1+num , sum1 = 1+2+3+4=10
print(sum1) 10
练习2:打印出所有的水仙花数。(一个三位数,个位的立方加上十位的立方加上百位的立方等于这个数本身)
count = 0 # 统计个数
for num in range (100,1000):
ge = num % 10
shi = num // 10 % 10
bai = num // 100
if ge ** 3 +shi ** 3 + bai ** 3 == num:
print(num,'是水仙花数')
count+=1
print (count)
练习3,统计100以内个位数是5的个数
count = 0
for num in range (100):
if num % 10 == 5 :
count += 1
print ('个位数是5的个数:',count)
二 while 的运用
1. 怎么使用while
1)语法
while条件语句:
循环体
2)说明
while ---------- 关键字 固定写法
条件语句 ---------- Python支持的数据类型的数据、已经声明过的变量、除了赋值以外的运算表达式。
: ---------- 固定写法
循环体 --------- 和while保持一个缩进的一条或者多条语句;(循环体会循环)
3) 执行过程
先判断条件语句是否为True,如果是就执行循环体;
执行完循环体在判断语句是否为Ture,如果是又继续循环,直到执行到语句为Fasle,循环结束,直接执行循环后面的语句。
练习1:使用for循环计算1+2+3+4......+100
s = 1
b = 0
while s < 101:
b+=s
s+=1
print (b)
练习2:打印出所有的水仙花数。
num = 100
while num < 1000:
ge = num % 10
shi = num // 10 % 10
bai = num // 100
if ge ** 3 +shi ** 3 + bai ** 3 == num:
print(num,'是水仙花数')
num += 1
while循环控制数字的产生
2.for循环和while循环
for循环能做的while一定能做;while能做的for不一定能做到
TIP: 循环次数确定一般用for循环,循环次数不确定的时候用while循环(死循环也用while)
练习:程序能够不断的进行输入操作,直到输入的内容为0为止。
n = int(input('请输入数字:'))
while n != 0:
n = int(input('请输入数字:'))
三 brakeContinueElse的运用
1.continue
continue是循环体中的关键字,用来结束当次循环
当执行循环体的时候遇到continue,当次循环结束,不再执行循环体后面的语句,直接进入下次循环的判断
for x in range (4):
print (x)
print ('====')
continue
print('+++')
sum1 = 0
for x in range (100):
if x % 2 == 1 :
continue # 不执行
sum1 += x
print (sum1)
2.break
break 是循环体中的关键字,用来结束整个循环
当执行循环体的时候遇到break,整个循环直接结束,程序执行循环后边的其他语句
for x in range(10):
print (x)
print ('====')
break
print('+++')
print('结束')
while True:
if 循环结束条件:
break
while True:
s = input('输入一个数')
if s == 0:
break
3. else
1)for的完整结构
for 变量 in 序列:
循环体
else
代码块
其他语句
2)while的完整结构
while条件语句:
循环体
else:
代码块
其他语句
当循环自然死亡(for中变量将序列中的数据取完了;while后边的条件语句的值为False),else后面的代码块会执行;
如果循环因为是遇到break二结束的,else后面的代码就不会执行。
应用:可以通过else来检测循环有没有遇到break
for x in range (10):
print (x)
if x == 4:
break
else:
print ('循环自然死亡')