python 控制流(二)
常用控制流 条件语句 循环语句
一、条件语句
if 条件表达式: #条件表达式--->比较运算符--->布尔值
满足条件表达式执行的代码块 #当布尔值为 True时执行此句
elif 条件表达式:
满足条件表达式执行的代码块
.
.
.
else:(无条件)
不满足条件执行的代码块
注:
①一个完整的条件表达式只有一个if一个else可以有多个elif
②如果数据为空或null代表条件表达式为False,不为空为True
二、循环语句
- for循环
作用:遍历元素,通过数据的元素个数控制循环的次数
注:
字符串中单个字符为一个元素 a="nothing is impossible" print(len(a)) 结果21
语法 for item in datas: #item是一个变量 item依次访问datas里面的元素然后取到对应的值
重复执行的代码块
例子
a={"name":"wonderful","age":18,"score":100}
for i in a.items():
print(i)
结果
('name', 'wonderful')
('age', 18)
('score', 100)
for item in a.values(): for item in a:
print(item) print(a[item])
结果
wonderful
100
18
for item in a:
print(item)
结果
name
score
age
range(m,n,k) m:开始,n-1 结束,k 步长 生成一个整数序列(数据集合)默认 m=0,k=1 取左不取右
例子
t=(1,"hello",(1,3,5))
for item in range(len(t)):
print(t[item])
结果
1
hello
(1, 3, 5)
倒序输出列表
l=[1,2,3,4,5,6,7]
for item in range(-1,-8,-1): #根据索引倒序输出
print(l[item])
结果 7 6 5 4 3 2 1
l.reverse() #列表倒置
for item in l:
print(item)
结果 7 6 5 4 3 2 1
嵌套循环 for for if
一共有两行数据根据\n确定,每一行数据保存到一个字典里面 param url为key,后面为value,两行数据保存在大列表中
例子:
url="param:{'phone':'0125-9999999','pwd':'666666'}@url:http://http://www.baidu.com\nparam:{'phone':'0125-9999999','pwd':'666666'}@url:http://www.sogou.com"
代码:
s1=url.split("\n") #第一次
list_datas=[]
for item in s1:
s2=item.split("@") #第二次
dict_datas={}
for item2 in s2:
s3=item2.split(":",1) #第三次
key=s3[0]
value=s3[1]
dict_datas[key]=value
list_datas.append(dict_datas)
print(list_datas)
执行结果:
[{'param': "{'phone':'0125-9999999','pwd':'666666'}", 'url': 'http://http://www.baidu.com'}, {'param': "{'phone':'0125-9999999','pwd':'666666'}", 'url': 'http://www.sogou.com'}]
2、While循环
语法: while 条件表达式:
循环的代码块
执行顺序:首先判断while后面的条件 如果满足就执行代码块,执行完毕后判断while后面的条件,再执行,执行完后再次判断...反复执行
注:
while循环,容易进入死循环慎重使用。
防止死循环的方法:
1.break 跳出循环 终止循环
a=1
while a>=1:
print("执行中.............")
break
2.利用一个变量控制循环次数,即指定循环次数
a=1
while a>=1:
print("执行中.............")
a=a-1
最新文章
- C# 怎么才能取到网卡的型号信息呢? 如: 博通 NetLink BCM57781 Gigabit Ethernet
- 用两个Stack来实现一个Queue
- SpringDataMongoDB介绍(二)-MongoOperations介绍
- java 关键字
- RxJava的使用
- 大牛对ACM入门菜鸟的一些话
- 2个2D向量计算交点的夹角和补角
- ethtool确定网卡对应的物理网口
- ZooKeeper 之快速入门
- jira7.3.6的安装步骤
- RsaUtils
- phoneshop cs6破解
- 旋转数组的最小数字 - 剑指offer 面试题8
- partial.js client-side routing(客户端路由-基于HTML5 SPA特性的历史API)
- jmeter使用正则表达式匹配多个中的响应结果
- 001.Linux网路配置
- 118. Pascal's Triangle (java)
- 2017-4-20/Redis的数据结构及应用场景
- sql2008评估板过期
- CentOS7搭建FastDFS V5.11分布式文件系统-第一篇