Python学习笔记五--条件和循环

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)
时间: 2024-12-29 06:57:38

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

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

一.函数导入 1.为模块提供别名 >>> import math as foobar #设置math 别名为foobar >>> foobar.sqrt(4) 显示:2.0 2.为函数提供别名 >>> from math import sqrt as foobar >>> foobar(4) 显示:2.0 二.赋值 1.多值赋值 >>> x,y,z=1,2,3 >>> print(x,y,z) 显示

day6_python学习笔记_chapter8_条件,循环

1. if elif else 2. 条件表达式:三元操作符: smaller = x if x < y else y   == if x < y : smaller =x  else : smaller = y 3. range(start, end, step=1) 4. xrange(): 当有一个很大范围的列表时, xrange()更为合适,因为它不会再内存里创建列表的完整拷贝,他只被用在for循环中,性能比range()要好, 因为它不生 成整个列表. 5. sorted(), re

python学习笔记之条件分支和循环

1.python if条件分支语法 if 条件: 条件为真,执行的操作 else: 条件为假,执行的操作 if 条件: 条件为真,执行的操作 elif: 条件为假,执行的操作 else: 条件为假执行的操作 #如下两种语法的区别是当第一个if条件为真时,其他的if或else条件还是会继续执行,如果使用elif分支,则不会继续执行(消耗机器的cpu不同) 2.python while循环语法 while 条件: 条件为真,执行的操作 补充知识:random模块生成随机数 #randint()  模

python基础教程学习笔记---(5)条件、循环和其他语句

1.使用逗号输出 使用逗号隔开,可以打印多个表达式.打印后,各项之间自动以一个空格隔开. 也可以同时输出文本和变量值. 可以和字符串连接符“+”一起使用. 2.从模块中导入函数 从模块导入函数的方法: import somemodule from somemodule import somefunction from somemodule import somefunction,anotherfunction,yetanotherfunction from somemodule import *

python 学习笔记之条件循环等语句

赋值语句 普通赋值: >>> x,y,z = 1,2,3>>> print x,y,z1 2 3>>> x,y = y,x>>> print x,y2 1 元组(序列)解包赋值: >>> a = (1,2,3)>>> x,y,z = a>>> x1 字典赋值: >>> people = {"name":"cq","

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

这周学习了装饰器和生成器,写下博客,记录一下装饰器和生成器相关的内容. 一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里面每个函数都加一个功能,用来统计每个函数的运行时间是多少,找出来运行比较慢的函数,来优化代码,就需要添加一个新的功能,来统计程序的运行时间,那这样的话,就得修改每个函数了,需要改代码,但是代码特别多,改完了公司倒闭了,这时候装饰

Python学习笔记五(模块与包)

一.模块 1.模块介绍 一个模块就是包含了一组功能的python文件,可以通过import导入模块使用. python中模块分为四个类别: a) 使用python编写的.py文件 b) 已被编译为共享库或DLL的C或C++扩展 c) 把一系列模块组织到一起的文件夹,文件夹内有__init__.py文件,称该文件夹为包 d) 使用C编写并链接到python解释器的内置模块 定义my_module.py模块,模块名为my_module print("from my_module.py")

Python学习笔记五函数式编程(二)

参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 一.返回函数 高阶函数除了可以接受函数作为参数之外,还可以把函数作为返回值. 通常我们也可以通过以下方式求和: def calc_sum(*args): sum=0 for n in args: sum=sum+n return sum 但如果有一种情况 ,不需要立刻得出求和结果,而是在后续的代码中根据需要再计

Python学习笔记五_数据类型(字符串)

已经学习过的数据类型包括:int.float.list.tuple.dict.这篇来单独记录下字符串.单独将字符串这种数据类型写出来,是因为python里有很多非常有用的字符串内置方法. 一.字符串定义 字符串可以存任意类型的字符串,比如名字,一句话等等. 1 name = 'Rebecca' 2 msg = 'Fighting' 二.字符串内置方法 1.常用方法 输出为字符串的方法 a = 'my name is Rebecca' print(a.capitalize()) #将字符串的第一个