While循环
While循环,是一个循环加判断的组合,满足判断条件返回 真(True)开始循环代码块,不满足判断条件返回 假()不循环
格式:
While 条件:
代码块
注意:在While循环里如果不加终止循环的判断或者关键字,会一直循环(死循环)
如:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time #引用计时器模块
n = True
s = 1
while n:
print(s)
time.sleep(1) #调用计时器
如上列While循环判断变量n等于True(真)的时候开始循环里面的代码块,打印变量s,遇到计时器等待1秒后,在重复这个过程(死循环)
While循环 与 if判断 的结合应用,从1循环到10终止
如:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time #引用计时器模块
n = True
s = 1
while n:
print(s)
if s == 10:
n = False
s+=1 #变量s自身累积加1
time.sleep(1) #调用计时器
上列是从1循环到10终止,While循环判断n变量为True(真),开始循环代码块,打印s变量值为1,下来遇到if判断s变量值是否等于10,显然不等于,不等于就调过判断,在下来遇到s+=1(就是s变量自身的值加1,相等于s=s+1),此时s变量的值就是2了,在下来遇到计时器等待1秒,然后开始再次重复的循环直到s变量累积相加到10,if判断s变量等于10了,执行if判断里面的代码块,if代码块里面是n变量重新赋值等于False(假),此时n变量已经是False(假)了,在次循环时,While循环条件判断到n变量为假了,不在执行While循环终止
While循环 关键字(break) 跳出整个循环 不在循环
如: 循环出1到10
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time #引用计时器模块
n = True
s = 1
while n:
print(s)
if s == 10:
break
s+=1 #变量s自身累积加1
time.sleep(1) #调用计时器
上列,当循环到10时,if判断s变量等于10的时候,执行if里面的代码块遇到 break (跳出整个循环 不在循环) 就直接跳出并且不在循环了
While循环 关键字(continue) 跳出本次循环 继续下次环
如:循环出1、2、3、4、 6、7、8、9、10、 跳出5
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time #引用计时器模块
n = True
s = 1
while n:
if s == 5:
s += 1
continue
print(s)
if s == 10:
break
s += 1 #变量s自身累积加1
time.sleep(1) #调用计时器
如上列,当循环到5的时候if判断到后,执行if里面的代码块,if里 s变量加1就是6,continue跳出本次循环,再次循环时s变量是6了,if判断等于5就不成立了跳过判断,往下执行,直到第二个if判断到等于10后遇到break跳出整个循环不在循环
While循环 求1-100所有数相加的和(1+2+3+4+5...+100)
如:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
n = True
s = 1
t = 0
while n:
print(s)
t = t + s
if s == 100:
break
s += 1 #变量s自身累积加1
print(t)
如上列,t = t + s 就是每次循环到这里的时候,将s变量自身累积加1的值在加上t变量的值重新赋值给t变量(这里可以理解为,s变量每次循环自身累积加1的值,在加上t变量的值,重新赋值给t变量做一个登记)最后在打印这个t变量,t变量最后的登记,就是整个循环相加的和
While循环 加 if判断 输出1-100内的所有奇数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
s = 1
while s <= 100:
t = s % 2 #让s变量的值求余后重新赋值给t变量
#s求余等于0为偶数,等于1为奇数
if t == 1:
print(s)
else:
pass
s += 1 #变量s自身累积加1
也就是先循环出1-100,然后在循环里定义一个变量t,将每次循环到的s变量值求余后赋值给t变量,然后判断t变量的值,如是1就是奇数打印出s变量,如果不是1就是偶数就不打印pass,这样就循环加判断的方式,打印出了1-100内的所以奇数。
While循环 加 if判断 输出1-100内的所有偶数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
s = 1
while s <= 100:
t = s % 2 #让s变量的值求余后重新赋值给t变量
#s求余等于0为偶数,等于1为奇数
if t == 0:
print(s)
else:
pass
s += 1 #变量s自身累积加1
也就是先循环出1-100,然后在循环里定义一个变量t,将每次循环到的s变量值求余后赋值给t变量,然后判断t变量的值,如是0就是偶数打印出s变量,如果不是0就是奇数就不打印pass,这样就循环加判断的方式,打印出了1-100内的所以奇数。
While循环 加 if判断 求1-2+3-4+5...99的所有数的和
如:
#!/usr/bin/env python
# -*- coding:utf- -*-
r =
s =
while s <= :
t = s %
if t == :
r = r + s
else:
r = r - s
s +=
print(r)
也就是在循环里做判断,循环到的是奇数就相加,如果是偶数就相减,每一次循环的相加或者相减,赋值给 r变量记录一下,r变量最后的记录就是我们得到的加减后的和
While循环 加 if判断 用户输入用户名和密码有3次机会
如:
#!/usr/bin/env python
# -*- coding:utf- -*-
a =
while a < :
yh = input("请输入用户名")
mm = input("请输入密码")
if yh == "guixiu" and mm == "":
print("恭喜你登录成功")
break
else:
print("很遗憾密码或用户名错误")
a +=
也就是用While循环 加 if判断,在循环里判断用户输入的用户名和密码是否正确,正确就登录成功退出整个循环,不正确提示错误,变量a加1,再次循环重复操作,当变量a的值大于3时,循环条件不在成立,停止循环
for循环
主要用于循环一个字符串列表等
不需要判断,定义一个循环变量即可
格式:for (循环定义变量) in (被循环的变量) 循环完后自动退出整个循环
打印循环定义变量即可
关键字(continue) 跳出本次循环 继续下次环
关键字(break) 跳出整个循环 不在循环
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# #for循环
#b为循环自定义变量
a = "abcdefghijklmnopqrstuvwxyz"
for b in a:
print(b)
#循环出所有字母
关键字应用
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# #for循环
#b为循环自定义变量
a = "abcdefghijklmnopqrstuvwxyz"
for b in a:
if b == "f":
continue #跳出本次循环 继续下次环
else:
print(b)
#循环出所有字母(f除外)
如何只获取for里的第某一次值【重点】
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""如何只获取for里的第某一次值"""
a = [11, 22, 33, 44, 55, 66, 77, 88, 99]
for k, v in enumerate(a,1): #首先要用enumerate()函数给被循环对象,添加一个键也就是下标,这样就可以在循环里定义两个变量来分别接受键和值,
#print(k,v)#这样就能拿到键和值,用if判断键来获取某一次需要的值
#如:要获取第6次循环的值
if k == 6: #如果键等于6就打印这次循环的值
print(v)
# 输出
#