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

作者:goldensun 时间:2023-06-27 06:00:53 

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)
标签:Python,条件判断,循环
0
投稿

猜你喜欢

  • Go语言学习之反射的用法详解

    2023-06-16 06:40:40
  • MySQL获得当前日期时间函数示例详解

    2024-01-27 07:54:48
  • python数据分析近年比特币价格涨幅趋势分布

    2022-04-02 15:05:56
  • Django实现单用户登录的方法示例

    2021-12-21 03:26:41
  • 通过python爬虫赚钱的方法

    2023-04-27 11:48:17
  • 详解golang defer 闭包 匿名函数

    2024-02-11 09:19:20
  • Python数据存储之XML文档和字典的互转

    2023-02-12 08:56:11
  • python基础之面对对象基础类和对象的概念

    2021-08-16 03:26:33
  • 详解Python Selenium如何获取鼠标指向的元素

    2021-12-03 10:45:39
  • Python中如何将一个类方法变为多个方法

    2022-10-10 02:01:47
  • asp检测是否为中文字符函数

    2011-04-07 11:19:00
  • ASP实现多域名同一空间的处理实例

    2008-10-29 09:46:00
  • 安装2019Pycharm最新版本的教程详解

    2023-06-25 23:27:54
  • mysql代码执行结构实例分析【顺序、分支、循环结构】

    2024-01-21 23:18:40
  • JavaScript 禁止用户保存图片的实现代码

    2024-04-28 09:48:11
  • ASP.net与SQLite数据库通过js和ashx交互(连接和操作)

    2024-01-28 15:21:17
  • Python爬虫实战案例之爬取喜马拉雅音频数据详解

    2023-07-19 07:05:02
  • Python设计模式结构型代理模式

    2023-06-30 19:23:58
  • Python基于最小二乘法实现曲线拟合示例

    2021-08-06 15:47:07
  • Python项目实战之使用Django框架实现支付宝付款功能

    2021-12-11 23:28:11
  • asp之家 网络编程 m.aspxhome.com