2、Python程序控制结构(0530)
条件测试:
1、if 条件测试表达式
python的比较操作
1、所有的python对象都支持比较操作
- 可用于测试相等性、相对大小等;
- 如果是符合对象,python会检查其所有部分,包括自动遍历各级嵌套对象,直到可以得出最终结果
2、测试操作符
- “==”操作符测试值的相等性
- “is”表达式测试对象的一致性
3、python的比较操作
- 数字:通过相对大小进行比较
- 字符串:按照字典次序逐字符进行比较
- 列表和元组:自左至右比较各部分内容
- 字典:对排序之后的(键、值)列表进行比较
4、python中真和假的含义
- 非零数字为真,否则为假
- 非空对象为真,否则为假
- none则始终为假
字符串:按照字典次序逐字符进行比较(按照字母表或ASCII码)
2、python中的真假:
- 任何非0数字和非空对象都为真
- 数字0、空对象和特殊对象None都为假
- 比较和相等测试会递归地应用于数据结构中
- 返回值为True或False
3、组合条件测试:
- X and Y:与运算
- X or Y :或运算
- not x:非运算
if测试的语法结构
if boolean_expression1:
suite1
elif boolean_expression2:
suite2
...
else:
esle_suite
elif语句是可选的
仅用于占位,而后再填充相关语句时,可以使用pass




A = X if Y else Z //如果Y条件满足,A=X,否则A=Z,三元表达式
if Y:
A=X
else:
A=Z

while和for循环
循环机制及应用场景
1、while循环
- 用于编写通用迭代结构
- 顶端测试为真即会执行循环体,并会重复多次测试直到为假后执行循环后的其他语句
2、for循环
- 一个通用的序列迭代器,用于遍历任何有序的序列对象内的元素
- 可用于字符串、元组、列表和其它的内置可迭代对象,以及通过类所创建的新对象
3、python也提供了一些能够进行隐形迭代的工具
- in成员关系测试
- 列表解析
- map、reduce和filter函数
while循环
1、语法格式

else分支为可选部分
只要boolean_expression的结果为true,循环就会执行;
boolean_expression的结果为false时终止循环,此时如果有else分支,则会执行
2、语法格式



while语法格式:
while bool_expression:
while_suite
else:
else_suite
while循环语法格式扩展

break:跳出最内层的循环
continue:跳到所处的最近层循环的开始处
pass:点位语句
else代码库:循环正常终止才会执行,如果循环终止是由break跳出导致的,则else不会执行

练习题1:逐一显示指定列表中的所有元素;


简化:
练习4:创建一个包含了100以内所有奇数的列表; 练习5:逆序显示列表中的所有元素;

练习6:列表l1 = [0,1,2,3,4,5,6],列表l2 = ['sun','mon','tue','wed','thu','fri','sat'],以第一个列表中的元素为键,以第二个列表中的元素为值生成字典d1;

while true:死循环
for循环
1、语法格式

通常,expression或是一个单独的变量,或是一个变量序列,一般以元组的形式给出
如果以元组或列表用于expression,则其中的每个数据项都会拆分到表达式的项,例如
T=[(1,2),(3,4),(5,6),(7,8)]
for (a,b) in T:
print a,b
for循环形式扩展

编写循环的技巧
1、for循环比while循环执行的速度快
2、python提供了两个内置函数,用于在for循环中定制特殊的循环
range或xrange
range:一次性的返回连续的整数列表
xrange:一次产生一个数据元素,相较于range更节约空间
zip
返回并行的元素元组的列表,常用于在for循环中变量数个序列
range函数
1、非完备遍历
用于每隔一定的个数元挑出一个元素

2、修改列表

并行遍历
1、zip
- 取得一个或多个序列为参数,将给定序列中的并排的元素配成元组,返回这些元组的列表
- 当参数长度不同时,zip会以最短序列的长度为准
- 可在for循环中用于实现并行迭代

- zip也用于动态构造字典


产生偏移和元素
enumerate
- range可在非完备遍历中用于生成索引偏移,而非偏移处的元素
- 如果同时需要偏移索引和偏移元素,则可以使用enumerate()函数
- 此内置函数返回一个生成器对象

练习题1:逐一显示指定列表中的所有元素;


2、Python程序控制结构(0530)的更多相关文章
- python程序控制结构
一:顺序结构 顺序结构的程序是指程序中的所有语句都是按照书写顺序逐一执行的,但是顺序结构的程序功能有限. 二:选择结构 选择结构也称为分支结构,用于处理在程序中出现两条或更多执行路径可供选择的情况.选 ...
- Python学习笔记(四)Python程序的控制结构
在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求.如果有的小伙伴在之前学过C语言,j ...
- 运行python程序
1 在windows下运行python程序 1)从DOS命令行运行python脚本 用python解释器来执行python脚本,在windows下面python解释器是python.exe,我的pyt ...
- 【python之路2】CMD中执行python程序中文显示乱码
在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...
- Python程序高效地调试
现在我在debug python程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- python程序一直在后台运行的解决办法
刚写了个python程序,要一直在后台运行,即使断开ssh进程也在,下面是解决办法: 假如Python程序为test.py 编写shell脚本start.sh #!/bin/bash python t ...
- 第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
- Python程序的首行
>问题 >>在一些python程序中的首行往往能够看见下面这两行语句中的一句 >>>#!/usr/bin/Python >>>#!/usr/bin ...
随机推荐
- Locust 设置响应断言
转:http://www.testclass.net/locust/assert/ 性能测试也需要设置断言么? 某些情况下是需要,比如你在请求一个页面时,就可以通过状态来判断返回的 HTTP 状态码是 ...
- linux下安装mysql(rpm文件安装)
数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...
- JS实现input中输入数字,控制每四位加一个空格(银行卡号格式)
前言 今天来讲讲js中实现input中输入数字,控制每四位加一个空格的方法!这个主要是应用于我们在填写表单的时候,填写银行卡信息,要求我们输入的数字是四位一个空格!今天主要介绍两种方式来实现这个方法! ...
- Qt读取TXT文件时,GBK与UTF-8编码判断
读取txt文件时,很多时候无法获取文件的编码格式.如果直接进行使用,则有可能出现乱码.需要在使用前将其转为Unicode(Qt的默认编码格式). 虽然实际的编码格式种类非常多,但平常主要使用的有GBK ...
- flask 的类中间件
需求 : 如果登陆了,就可以访问 index 和 home 页面,如果没登录就跳转到 login 登录 要怎么解决呢, session 对, 用 session 除了 Login 函数之外的所有函数里 ...
- springboot+mybaties
1. 开发工具:Intellij idea2018.3 2. file----->new----->project 3. 选择Spring Initializr,点击next 4. 点击n ...
- mysql01
CREATE TABLE `student`( `studentNo` INT (4) NOT NULL PRIMARY KEY COMMENT '学号', `loginPwd` VARCHAR(20 ...
- codevs——1003——电话连线
题目描述 Description 一个国家有n个城市.若干个城市之间有电话线连接,现在要增加m条电话线(电话线当然是双向的了),使得任意两个城市之间都直接或间接经过其他城市有电话线连接,你的程序应该能 ...
- Redis Desktop Manager连接Redis
1.注释redis.conf文件中的:bind 127.0.0.1修改为自己的IP 2.ifconfig查看自己的虚拟机ip 3.拿到IP后,返回Windows,开启cmd,通过telnet命令,测试 ...
- Fiddler(一)Fiddler介绍及应用场景
Fiddler是一款网络抓包工具,抓包可以是抓取电脑端请求的数据,还可以抓取移动端(手机APP)的数据包,可以监控HTTP和HTTPS的流量,可以通过浏览器或者客户端软件向服务器发送的HTTP或者HT ...