python学习之第八课时--for和while循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之第八课时--for和while循环相关的知识,希望对你有一定的参考价值。
- while循环
while循环,是一个循环加判断的组合,满足判断条件返回 ,真(True)开始循环代码块,假(False)不循环
while循环主要结构:
#!/usr/bin/env python # -*- coding:utf-8 -*- while codition: expressions #注意:当codition=True时,程序将永远执行下去,若要停止使用ctrl+c终止程序
代码块
注意:在While循环里如果不加终止循环的判断或者关键字,会一直循环(死循环)
如:
#!/usr/bin/env python # -*- coding:utf-8 -*- import time #引用计时器模块 a=True b=1 while a: print(b) time.sleep(1) #调用计时器
如上列While循环判断变量a为True(真)的时候开始循环里面的代码块,打印变量b到计时器等待1秒后,在重复这个过程(死循环)
While循环 与 if判断 的结合应用,从1循环到10终止
如:
#!/usr/bin/env python # -*- coding:utf-8 -*- a=True b=1 while a: print(b) if b==10: a=False b+=1 #变量b 自身累积加1 time.sleep(1) #调用计时器
上列是从1循环到10终止,While循环判断a变量为True(真),开始循环代码块,打印a变量值为1,下来遇到if判断b变量值是否等于10,显然不等于,不等于就跳过判断,在下来遇到b+=1(就是b变量自身的值加1,相等于b=b+1),此时b变量的值就是2了,在下来遇到计时器等待1秒,然后开始再次重复的循环直到s变量累积相加到10,if判断b变量等于10了,执行if判断里面的代码块,if代码块里面是a变量重新赋值等于False(假),此时n变量已经是False(假)了,在次循环时,While循环条件判断到a变量为假了,不在执行While循环终止
while循环 关键字(break) 跳出整个循环 不再循环
如: 循环出1到10
#!/usr/bin/env python # -*- coding:utf-8 -*- import time #引用计时器模块 a=True b=1 while a: print(b) if b==10: break b+=1 #变量b自身累积加1 time.sleep(1) #调用计时器
上列,当循环到10时,if判断b变量等于10的时候,执行if里面的代码块遇到 break (跳出整个循环 不在循环) 就直接跳出并且不在循环了
while循环 关键字(continue) 跳出本次循环 继续下次循环
如:循环出1、2、3、4、 6、7、8、9、10 跳出5
#!/usr/bin/env python # -*- coding:utf-8 -*- import time #引用计时器模块 a=True b=1 while a: if b==5: b+=1 continue print(b) if b==10: break b+=1 #变量b自身累积加1 time.sleep(1) #调用计时器
如上列,当循环到5的时候if判断到后,执行if里面的代码块,if里 b变量加1就是6,continue跳出本次循环,再次循环时b变量是6了,if判断等于5就不成立了跳过判断,往下执行,直到第二个if判断到等于10后遇到break跳出整个循环不在循环
while循环 求1-100所有数相加的和(1+2+3+4+5...+100)
如:
#!/usr/bin/env python # -*- coding:utf-8 -*- a=True b=1 s=0 while a: if b==100: a=False s+=b b+=1 print(s)
如上列,s+=b(s=s+b) 就是每次循环到这里的时候,将s变量自身加上b变量的值重新赋值给s变量(这里可以理解为,b变量每次循环自身累积加1的值,在加上s变量的值,重新赋值给s变量做一个登记)最后在打印这个s,s变量最后的登记,就是整个循环相加的和
while循环 加if判断 输出1-100内的所有奇数
如:
#!/usr/bin/env python # -*- coding:utf-8 -*- a=1 while a<=100: if a%2==0: print(a) else: pass a+=1
while循环 加if判断 输出1-100内的所有偶数
#!/usr/bin/env python # -*- coding:utf-8 -*- a=1 while a<=100: if a%2!=0: print(a) else: pass a+=
while循环 加 if判断 求1-2+3-4+5...99的所有数的和
如:
#!/usr/bin/env python # -*- coding:utf-8 -*- a=1 b=0 while a<=99: if a%2!=0: b=b-a else: b=b+a a+=1 print(b)
也就是在循环里做判断,循环到的是奇数就相加,如果是偶数就相减,每一次循环的相加或者相减,赋值给 b变量记录一下,b变量最后的记录就是我们得到的加减后的和
While循环 加 if判断 用户输入用户名和密码有3次机会
如:
#!/usr/bin/env python # -*- coding:utf-8 -*- a=0 while a<=3: name=input("请输入用户名:") password=input("请输入密码:") if name=="luqinag" and password=="helloworld": print("恭喜登录成功") break else: print("sorry,用户名或密码错误") a+=1
也就是用While循环 加 if判断,在循环里判断用户输入的用户名和密码是否正确,正确就登录成功退出整个循环,不正确提示错误,变量a加1,再次循环重复操作,当变量a的值大于3时,循环条件不在成立,停止循环
- for循环
它可以遍历序列成员(字符串,数组,元组),主要用于循环一个字符串列表等
不需要判断,定义一个循环变量即可
格式:for (循环定义变量) in (被循环的变量) 循环完后自动退出整个循环
打印循环定义变量即可
关键字(continue) 跳出本次循环 继续下次环
关键字(break) 跳出整个循环 不在循环
for循环可以遍历字符串中的每个元素
#!/usr/bin/env python # -*- coding:utf-8 -*- a="life is short,you need python" for b in a: print(b)
- 关键字应用
#!/usr/bin/env python # -*- coding:utf-8 -*- a="life is short,you need python" for b in a: if b=="p": continue #跳出本次循环 继续下次循环 else: print(b) #循环出所有字母和空格,p除外
如何只获取for里的第某一次值【重点】
#!/usr/bin/env python # -*- coding:utf-8 -*- a=[12,23,34,45,56,67,78,89] for k,v in enumerate(a,1): #首先要用enumerate()函数给被循环对象添加一个键也就是下标,这样就可以在循环里定义两个变量来分别接受键和值 #print(k,v) 这样就能拿到键和值,用if判断键来获取某一次需要的值 #如:要获取第六次循环的值 if k==6: print(v) #如果键等于6就打印这次循环的值 #输出 67
补充:
在其他编程语言中,如java,C/C++中,存在Do-while 循环
备注:do-while循环和while循环基本一样,不同的是它先执行循环体一次,然后判断循环继续条件
以上是关于python学习之第八课时--for和while循环的主要内容,如果未能解决你的问题,请参考以下文章