常用控制流 条件语句 循环语句

一、条件语句

if 条件表达式: #条件表达式--->比较运算符--->布尔值

满足条件表达式执行的代码块 #当布尔值为 True时执行此句

elif 条件表达式:

满足条件表达式执行的代码块

.

.

.

else:(无条件)

不满足条件执行的代码块

注:

①一个完整的条件表达式只有一个if一个else可以有多个elif

②如果数据为空或null代表条件表达式为False,不为空为True

二、循环语句

  1. 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

最新文章

  1. C# 怎么才能取到网卡的型号信息呢? 如: 博通 NetLink BCM57781 Gigabit Ethernet
  2. 用两个Stack来实现一个Queue
  3. SpringDataMongoDB介绍(二)-MongoOperations介绍
  4. java 关键字
  5. RxJava的使用
  6. 大牛对ACM入门菜鸟的一些话
  7. 2个2D向量计算交点的夹角和补角
  8. ethtool确定网卡对应的物理网口
  9. ZooKeeper 之快速入门
  10. jira7.3.6的安装步骤
  11. RsaUtils
  12. phoneshop cs6破解
  13. 旋转数组的最小数字 - 剑指offer 面试题8
  14. partial.js client-side routing(客户端路由-基于HTML5 SPA特性的历史API)
  15. jmeter使用正则表达式匹配多个中的响应结果
  16. 001.Linux网路配置
  17. 118. Pascal's Triangle (java)
  18. 2017-4-20/Redis的数据结构及应用场景
  19. sql2008评估板过期
  20. CentOS7搭建FastDFS V5.11分布式文件系统-第一篇

热门文章

  1. 前端必须掌握的 nginx 技能(4)
  2. tomcat gc和内存
  3. linux查看内存使用情况top
  4. java:Spring框架2(bean的作用域,静态工厂和实例工厂,自动装配,动态代理)
  5. Service Mesh体验
  6. python的并发GIL 了解
  7. mysql如何下载历史版本?
  8. MyEclipse 2013 破解
  9. POJ 2995 Brackets 区间DP
  10. array_chunk的用法和php操作大数据