2019-04-18 DAY4总结

python中两种循环结构:for while

循环的作用:让部分操作重复执行

序列:容器类型的数据,字符串、列表、元组、集合

1.执行过程

让变量去容器(序列,也就是字符串、列表、元组、集合
字典、迭代器、生成器、range)中一个一个取值,取完为止,
每取一个值执行一次循环体。序列中的个数决定了循环的次数。

for n in 'python':
    print(n)
    print('===')
print('end')

n='p',print(a),print('===')
n='y',print(n),print('===')
n='t',print(n),print('===')
n='h',print(n),print('===')
n='o',print(n),print('===')
n='n',print(n),print('===')

2.range函数

range是python内置的一个用来生成数字序列的函数,
在python2.x版本中,range由xrange代替.
range(N) 产生数字范围0~N-1 (N是正 整数)
range(10) 就是0~9范围
range(M,N) 产生数字范围M~N-1 N大于M M可以取到(可以是负数,但必须是整数) 相当于上面那种M=0
range(M,N,step) 这里step是等差,产生数字范围每次增加step的大小
如果step是负数M>N,相当于递减。

for x in range(10):
    print(x)

for x in range(-2,5):
    print(x)

for x in range(0,10,2):
    print(x)

s=0   #保存和的变量
for a in range(101):
    s+=a
    if a==50:   
        print(s)   #当a=50的时候,这时和的值
    
print(s)   #当a=100的时候,这时和的值

3.while循环执行过程
先判断条件语句是否为True(如果条件语句不是布尔值,先转换成布尔值),就执行
循环体,再判断条件语句是否为True,如果为True再执行循环体。直到条件语句
为False,循环结束,执行后面的语句。
先判断条件语句是否为True(如果条件语句不是布尔值,先转换成布尔值),就执行
循环体,再判断条件语句是否为True,如果为True再执行循环体。直到条件语句
为False,循环结束,执行后面的语句。

i=0
while i<5:
    print(i)
    i+=1
    print('?')
# 用while循环1+2+3+...+100
i=1
s=0
while i<101:
    s+=i
    i+=1
print(s)

# 打印所有水仙花数
s=100
while s<1000:
    a=s%10
    b=s//10%10
    c=s//100
    if a**3+b**3+c**3==s:
        print(s)
    s+=1

4.什么时候用for 什么时候用while

for循环能做的while都能做,while能做的
for不一定能做到。例如:死循环
循环次数确定的时候用for,循环次数不确定的时候
用while。

5.continue

是循环体中的关键字,只能用在循环体中,用来结束当次
循环。当执行循环体的时候,遇到了continue,当次循环直接
结束,不再执行循环体中continue后面的语句,直接进入下次
循环的判断.

for x in range(5):
    print(x)
    print('====')
    continue
    print('++++')


# 1,100之内偶数和
sun=0
for x in range(101):
    if x%2==1:
        continue
    sun+=x
print(sun)
# 打印100以内除3倍数的数
x=1
while x<101:
    if x%3==0:
        x+=1
        continue
    print(x)
    x+=1

6.break

break是循环体的关键字,用于直接结束整个循环
当执行循环体的时候遇到了break,整个循环直接结束
循环直接执行后边的语句。

print('======================')
for x in range(10):
    print(x)
    break
    print('+++++')

print('==============')

while True:
    s=int(input('输入一个数'))
    if s==0:
        break
print('bingo')

7.else

for的完整结构
for 变量 in 序列:
循环体
else:
代码块
其他语句

while的完整结构
while 条件语句:
循环体
else:
代码块
其他语句

当循环自然死亡(for中变量中序列数据取完,while后边

的条件语句值为False),else后面的代码才会执行
如果循环是因为遇到break结束,else后面的代码就不会执行.

可以通过else循环有没有遇到break

for x in range(10):
    print(x)
    if x==4:
        break
else:
    print('循环自然死亡')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容