做外贸网站建设,创建团购网站,wordpress编辑模板文字,建工之家流程控制有三种方法#xff1a;分支、循环、跳出
流程的控制通过布尔值来实现#xff0c;分支和循环都需要对一定的条件进行判断#xff0c;根据判断结果#xff08;布尔值#xff09;决定下一步要做什么 布尔值通过比较运算符、逻辑运算符来进行判断是True还是False
不…流程控制有三种方法分支、循环、跳出
流程的控制通过布尔值来实现分支和循环都需要对一定的条件进行判断根据判断结果布尔值决定下一步要做什么 布尔值通过比较运算符、逻辑运算符来进行判断是True还是False
不需要判断直接得到True——数字1非空数据类型与结构如非空list非空string非空set等 不需要判断直接得到False——数字0空数据类型与结构
分支
分支是根据条件让有些代码可以被执行或不被执行 分支关键字有if、else、elif、pass
#if
var 123
if var 111: #条件不满足print(123123123) #条件不满足不会执行
print(over) #if外的语句输出over
#over#else二选一条件不满足则执行条件满足则不执行else和if都只能出现一次
var 123
if var 111: #条件不满足print(123123123) #条件不满足不会执行
else:print(ws) #条件不满足可以满足else输出ws
print(over) #if外的语句输出over
#ws
#over#elif多分支但要注意条件必须递增
var 68
if var 80:print(优秀)
elif var 70:print(良好)
elif var 60:print(及格)
else:print(不及格)
print(over)
#及格
#over#分支嵌套
dict1 {ws:1111,xhy:2222} #创建一个包含密码的字典
name input(username:)
if name in dict1.keys(): #判断输入的username是否在字典的key中pwd input(password:) if pwd dict1[name]: #判断输入的password是否是字典中username的key对应的valueprint(success) #成功输出successelse:print(error) #失败输出error
else:print(no such username)#pass占位语句保证语法结果的完整性不然会报错最后再对pass部分进行修改
dict1 {ws:1111,xhy:2222}
name input(username:)
if name in dict1.keys(): pwd input(password:) if pwd dict1[name]: pass #满足条件则 跳过这部分什么都不执行else:print(error)
else:print(no such username)#三目运算符————简化分支结构的写法 -只能提供二选一
var int(input(soure:))
print(good if var 60 else bad) #真 if 条件判断 else 假
#good
等同于
if var 60:print(good)
else:print(bad)
循环
让某些代码重复执行 关键字包括for、while
# while循环
list1 [] #给列表添加元素
i 1
while i 10: #判断条件list1.append(i)i 1
print(list1)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]#for循环一般而言是对序列、字符串等对象进行遍历操作时使用for
#for循环不需要指定退出条件
list1[1,2,3,4,5]
for i in list1: #按顺序访问序列print(f{i}) #输出这个i次数为序列的元素数i 1
#for对字符串进行操作
strwsxhy
for i in str:print(f{i}) #依次输出#for解包:
#如果遍历的序列每一项元素都包含若干个子元素
#在循环时可以设置固定数量变量来接受
var[(1,2,3),(4,5,6),(7,8,9),(10,11,12)]
for v1,v2,v3 in var:print(f{v1},{v2},{v3})
#1,2,3
#4,5,6
#7,8,9
#10,11,12#for封包
var[(1,2,3),(4,5,6),(7,8,9),(10,11,12)]
for i in var:print(i) #直接得到元组
#(1, 2, 3)
#(4, 5, 6)
#(7, 8, 9)
#(10, 11, 12)#读取字典
dict1{ws:1,xhy:qwe,esq:12w}
for i in dict1.items():print(f{i}) #分组读出key和value
#(ws, 1)
#(xhy, qwe)
#(esq, 12w)#循环嵌套循环先执行里层循环再执行外层循环
a 0
while a 10:for i in range(3):print(i) #先执行a 1 #跑完了i的循环才会跑这条命令#列表推导式——通过循环快速生成列表
list1[i for i in range(1,21)]
print(list1)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
等同于
list1 []
i 1
while i 20:list1.append(i)i 1
print(list1)
#步长为2
list1[i*2 for i in range(1,21)]
#结合三目运算符挑选偶数i % 2 0
list1[i for i in range(1,21) if i % 2 0]跳出
跳出循环的方法有break与continue
#break跳出循环
i 1
list1 []
while i 20:if i 5: break #遇到break则直接跳出循环list1.append(i)i 1
print(list1)
#[1, 2, 3, 4]#continue跳过当前循环最好用在for中用在while会容易出问题
list1 []
for i in range(1,8): #在for中没有自增概念if i 5:continue #在i5的时候不执行这次循环list1.append(i)
print(list1)
#[1, 2, 3, 4, 6, 7]#for else——for跑完后执行else语句如果break了则不执行
#即两个要么都执行要么都不执行
for i in range(1,10):pass
else:pass
#找不到则提示error
user_list{ws:1,xhy:2,qwe:3}
name input(name:)
for i in user_list:if i name:break
else:print(error)
#如果不使用这种方法则需要单独定义一个变量来存储布尔值来为后面判断依据
name input(name:)
find
for i in user_list:if i name:find Truebreakfind False
if find is False:print(error)# while else——返回True时else不被执行返回False则执行else
#即只执行一个
while True:pass
else: #False则执行pass#练习
users[{ws:ws111},{xhy:xhy111},{qwe:qwe111}]
#判断用户输入是否存在
#如果有则输入密码检测密码是否正确
#正确则登录成功nameinput(username:)
for v1 in users: #对这个列表进行解包解包为三个单独的字典if name in v1.keys(): #判断有无用户名passwordinput(password:)if password in v1.values(): #判断输入的密码是否为字典对应key的valueprint(login successful)breakelse:print(password incorrect)break
else:print(no such username)