Python中的条件判断语句与循环语句用法小结

 更新时间:2016年03月21日 00:00:32   投稿:goldensun  
这篇文章主要介绍了Python中的条件判断语句与循环语句用法小结,条件语句和循环语句是Python程序流程控制的基础,需要的朋友可以参考下

if语句

>>通用格式
if语句一般形式如下:

if <test1>:
 <statements1>
elif <test2>:
 <statements2>
else:
 <statements3>

另外需要注意的是,Python中是没有switch/case语句的


while循环

while语句是Python语言中最通用的迭代结构,简而言之,只要顶端测试一直计算到真值,就会重复执行一个语句块。

>>一般格式

while <test>:
 <statements1>
else:
 <statements2>
>>break,continue,pass和循环else

break

跳出最近所在的循环(跳过整个循环语句)。

continue

跳到最近所在循环的开头处(来到循环的首行)。

pass

什么事也不做,只是空占位符语句。

循环else块

只有当前循环正常离开时才会执行(也就是没有碰到break语句)

>>一般循环格式
加入break和continue语句后,while的一般格式变为:

while <test1>:
 <statements1>
 if <test2>:break
 if <test3>:continue
else:
 <statements2>
>>pass

pass语句是无运算的占位符,当语法需要语句并且还没有任何实用的语句可写时,就可以使用它。

>>循环else
在while语句中加入else和C/C++中的语法不太一样,这里详细说明一下。else后面的代码只有当循环正常结束时才会执行,如果是用break跳出循环的,这部分代码就不会运行,具体看一个求质数的例子:

x = y // 2
while x > 1:
 if y % x == 0:
  print(y,'has factor',x)
  break
 x -= 1
else:
 print(y,'is prime')

再看一个对比的例子,没有使用else的情况:

found=False
while x and not found:
 if (matchx[0]):
  print('Ni')
  found=True
 else:
  x=x[1:]
if not found:
 print('not found')
使用else后的情况:

while x:
 if (match(x[0])):
  print('Ni')
  break
else:
 print('not found')

for循环

for循环在Python中是一个通用的序列迭代器:可以遍历任何有序的序列对象内元素。for语句可以用于字符串、列表、元组、其他内置可迭代对象。

>>一般格式

for <target> in <object>:
 <statements>
else:
 <statements>

此处的else的作用和while语句中的一样。另外需要注意的是,当Python运行for循环时,会逐个将序列对象中的元素赋值给目标,然后为每个元素执行循环体。

编写循环的技巧

内置range函数:返回一系列连续增加的整数,可作为for中的索引
内置zip函数:返回并行元素的元组的列表,可用于在for中遍历数个数列
>>循环计数器:while和range
range

当range函数只有一个参数时,会返回从零算起的整数列表,但其中不包括该参数的值。如果传进两个参数,那第一个参数是上边界,第二个参数是下边界。如果传进三个参数时,第三个参数表示步进值。

range提供了一种简单的方法,重复特定次数的动作:

for i in range(5):
 print(i,'Pythons')

相应的C++代码则是:

int i;
for(i = 0;i < 5;++i)
{
 std::cout<<i<<"Python";
}

>>并行遍历:zip和map
zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。

L1=[1,2,3,4]
L2=[5,6,7,8]
list(zip(L1,L2))

上述代码的执行结果是:

[(1,5),(2,6),(3,7),(4,8)]

当参数的长度不同时,zip会以最短序列的长度为准来截断所得到的元组。

使用zip构造字典:

keys=['spam','eggs','totast']
values=[1,2,5]
D = dict(zip(keys,values))

>>产生偏移和元素:enumerate
enumerate函数一个比较新的内置函数,它能同时返回元素值和偏移值:

s='spam'
for (offset,item) in enumerate(s):
 print(item,'appears at offset',offset)

相关文章

  • Pycharm Plugins加载失败问题解决方案

    Pycharm Plugins加载失败问题解决方案

    这篇文章主要介绍了Pycharm Plugins加载失败问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python实现基于二叉树存储结构的堆排序算法示例

    Python实现基于二叉树存储结构的堆排序算法示例

    这篇文章主要介绍了Python实现基于二叉树存储结构的堆排序算法,结合实例形式分析了Python二叉树的定义、遍历及堆排序算法相关实现技巧,需要的朋友可以参考下
    2017-12-12
  • python游戏实战项目之童年经典超级玛丽

    python游戏实战项目之童年经典超级玛丽

    史上十大最经典小霸王游戏中魂斗罗只能排在第二,那么第一是谁?最经典最风靡的当属超级玛丽,那个戴帽子的大胡子穿着背带裤的马里奥哪个不认得,小编带你用python实现超级玛丽缅怀童年
    2021-09-09
  • 关于Python内存分配时的小秘密分享

    关于Python内存分配时的小秘密分享

    这篇文章主要给大家分享介绍了关于Python内存分配时的小秘密,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • python实现mp3文件播放的具体实现代码

    python实现mp3文件播放的具体实现代码

    前段时间在搞一个基于python的语音助手,其中需要用到python播放音频的功能,下面这篇文章主要给大家介绍了关于python实现mp3文件播放的具体实现代码,需要的朋友可以参考下
    2023-05-05
  • 虚拟环境下搭建一个Django项目

    虚拟环境下搭建一个Django项目

    这篇文章主要为大家介绍了虚拟环境下搭建一个Django项目的实现过程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python3简单爬虫抓取网页图片代码实例

    Python3简单爬虫抓取网页图片代码实例

    这篇文章主要介绍了Python3简单爬虫抓取网页图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 利用python爬取古诗文网中各类古诗的方法

    利用python爬取古诗文网中各类古诗的方法

    这篇文章主要介绍了利用python爬取古诗文网中各类古诗的方法,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-03-03
  • python从入门到精通(DAY 2)

    python从入门到精通(DAY 2)

    本文是python从入门到精通系列文章的第二篇,主要给大家简单讲解下Python的字典复制和内置函数,非常简单实用,需要的小伙伴可以参考下
    2015-12-12
  • Python NumPy 数组索引的示例详解

    Python NumPy 数组索引的示例详解

    数组索引是指使用方括号([])来索引数组值,numpy提供了比常规的python序列更多的索引工具,除了按整数和切片索引之外,数组可以由整数数组索引、布尔索引及花式索引,这篇文章主要介绍了Python NumPy 数组索引,需要的朋友可以参考下
    2023-01-01

最新评论