5.1 if语句

没什么好说,if语句语法如下:

if expression:

expr_true_suit

5.1.1多重条件表达式

单个if语句可以通过布尔操作符and,or,not实现多重条件判断或否定判断。

if not warn and (system_load>=10):

print 'WARNING:LOSING RESOURCE'

warn+=1

5.2 else 语句

如果if条件为假程序将执行else后的语句。

if expression:

expr_true_suit

else:

expr_false_suit

5.3 elif 即 else-if

elif用来检查多个表达式是否为真,若位置执行其后的语句。elif可以有任意个,但else只能有一个。

语法如下

if expression1:

expr1_true_suit

elif expression2:

expr2_true_suit

elif expression3:

expr3_ture_suit

else:

none_of_the_above_suit

5.4 三元表达式

python原来并不支持三元表达式(c?x:y)在python2.5中加入了该语法支持,并且相当美观。语法:X if  C else Y

>>>x,y=4,3
>>>smaller=x if x<y else y
>>>smaller
3

5.5 while循环

5.5.1 一般语法

当条件为真是循环执行语句块内的语句,直到条件为假。

while expression:

suite_to_repeat

5.5.2 计数循环

在语句快中加入计数语句当循环执行一定次数后结束,例子如下。

count=0

while(count<9):

print 'the index is:',count

count+=1

5.5.3无线循环

condition永远为真,程序永远在循环中执行。

while True:

suite_to_repeat

5.6 for循环

python提供的另一个循环for循环,它可以遍历序列成员,可以用在列表解析和生成器中,它会自动调用next()方法。

1、用于序列类型

for可以迭代不同的序列对象包括,字符串,列表,元组。

>>>for eachLetter in 'Names'

print 'current letter:',eachLetter

current letter:N

current letter:a

current letter:m

current letter:e

current letter:s

对于列表与元组的迭代与上面相似。

2、通过序列索引迭代

首先要建立序列的索引使用range(len(list))来建立索引

>>>string='python'
>>>range(len(string))
[0,1,2,3,4,5]
>>>for index in range(len(string)):
>>> print string[index]
p
y
t
h
o
n

3、使用项和索引迭代

使用内建函数enumerate()函数同时迭代项和索引。

>>>namelist=['Donn','Ben',‘David’,'Wendy']
>>>for i,eachname in enumerate(namelist):
... print '%d,%s'%(i+1,eachname)
1,Donn
2,Ben
3,David
4,Wendy

5.7 break

break用在while和for循环中,当执行到break语句跳出当先循环执行下一语句。

def factor(num):
count=num/2
while count>0:
if num%count==0:
print count,'is largest factor of',num
break
count-=1
factor(input('please enter the number:'))

改程序用于计算数字的最大公约数。

5.8 continue

与其他语言中的continue一样,continue意为结束当前循环立即开始下一次循环,当然前提是循环先决条件依然满足。

valid=False
count=3
while count>0:
input=raw_input('enter password:\n')
for eachpwd in passwdList:
if eachpwd==input:
valid=True
print 'welcome back'
break
if not valid:
print 'invalid input'
count-=1
continue
else:
break

以上代码为continue的使用示例。

5.9 pass语句

Python中提供pass语句作为占位符。如果在某处语句块中没有任何语句编译器会报错,这时可以使用pass语句作为占位,它不做任何事情,可以作为你以后再补上代码的标记。

5.10 else的其他用法

在其他语言例如C中else不会出现在条件语句以外,但是Python中可以在循环外使用else。这很容易理解,因为循环要做的首先也是条件判断,那么必然就有条件不满足时需要执行的语句。

def MaxFactor(num):
count=num/2
while count>1:
if num%count==0:
print 'Largest Factor of %d is %d'%(num,count)
break
count-=1
else:
print num,'is prime' for eachNum in range(10,21):
MaxFactor(eachNum)

Python学习笔记五--条件和循环的更多相关文章

  1. Python学习笔记之条件、循环和其他语句

    一.函数导入 1.为模块提供别名 >>> import math as foobar #设置math 别名为foobar >>> foobar.sqrt(4) 显示 ...

  2. python学习笔记2_条件循环和其他语句

    一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开.       在脚本中,两个print语句想在一行输出 ...

  3. Python学习笔记(五)Python的切片和迭代

    切片 Python提供了切片操作符,可以对list.tuple.字符串进行截取操作. list中的切片应用 语法如下: >>> L = ['Michael', 'Sarah', 'T ...

  4. python学习笔记五 模块下(基础篇)

    shevle 模块 扩展pickle模块... 1.潜在的陷进 >>> import shelve>>> s = shelve.open("nb" ...

  5. python学习笔记(五):装饰器、生成器、内置函数、json

    一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里 ...

  6. vue学习笔记(五)条件渲染和列表渲染

    前言 在众多的编程语言中,我们的基础语法总是少不了一些专业语法,比如像定义变量,条件语句,for循环,数组,函数等等,vue.js这个优秀的前端框架中也有同样的语法,我们换一个名词,将条件语句改成专业 ...

  7. python学习笔记五 模块上(基础篇)

    模块学习 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

  8. python学习笔记五--文件

    任何情况下文本文件在Python里均是字符串模式. 一.创建一个文件,并写入: 函数open(文件名,w) 二.打开一个文件,并读取: 函数open(文件名,r),“r”是默认值,可以不用写 三.使用 ...

  9. Python学习笔记五

    一. 递归 递归函数: def a (): print ("from b") b() def b(): print("from a ") a() a() 递推和 ...

随机推荐

  1. delphi调用java编写的webservice

    delphi调用java编写的webservice JAVApojo: public class GroupInfo implements Serializable{    private stati ...

  2. Number Sequence - HDU 1711(KMP模板题)

    题意:给你一个a串和一个b串,问b串是否是a串的子串,如果是返回b在a中最早出现的位置,否则输出-1   分析:应该是最简单的模板题了吧..... 代码如下: ==================== ...

  3. fsck 修复ext3文件系统(用于linux系统时间不对,文件系统信息有错引起的die with exit status等的一些问题)

    有时候我们用虚拟机装了linux,可是我们做开发的人员,系统时间可能出于一些特殊要求调整过(例如保持一些特殊软件不过期,需要锁定时间等等),这样linux的系统时间久不准了,如果时间不准,会造成ext ...

  4. C primer plus 读书笔记第四章

    本章的标题是字符串的格式化输入/输出,重点介绍输入和输出. 本章的第一段示例代码和上一张示例代码很相近,代码就不贴了,新出现的特性是使用了一个数组来存放字符串,C预处理命令和strlen()函数. 下 ...

  5. 家族企业的常青之道——leo鉴书68

    <Leo鉴书(第1辑)>已登陆百度阅读,今后还将不断更新.免费下载地址:http://t.cn/RvawZEx 企业怎样长久传承.怎样长期有效操持活力.是多元化经营还是集中精力打一点,这些 ...

  6. [Javascript ] Array methods in depth - sort

    Sort can automatically arrange items in an array. In this lesson we look at the basics including how ...

  7. TsFltMgr.sys系统蓝屏的原因就在于QQ电脑管家!

    同事一WindowsXP系统,正常执行,关闭后,第二天无法启动,详细症状为: (1)安全模式以及带网络功能的安全模式都能够进入: (2)正常模式,还没出现WindowXP滚动栏就開始重新启动: (3) ...

  8. EntityFramwork6 在项目中的应用实例

    在项目开发中使用的ROM大多采用EntityFramwork去完成,下边给出最新的EntityFramwork在项目中的应用实例 : 一.更新EntityFramwork 在安装.NetFramwor ...

  9. Win10系统修改MAC地址

    本地管理地址,输入想修改的MAC地址后,点确定即完成修改.在CMD窗口中,使用ipconfig 命令可以查看新的MAC地址. 再次钩选不存在,则还原为原来的MAC地址.

  10. spring通过注解依赖注入和获取xml配置混合的方式

    spring的xml配置文件中某个<bean></bean>中的property的用法是什么样的? /spring-beans/src/test/java/org/spring ...