Python基础-条件判断和循环遍历

简介:Python基础-条件判断和for循环遍历

1. 条件判断语句

和其他语言一样,Python也提供了 if/else 条件判断语句,只是语法不同。在其他语言里,你可能需要通过花括号定义边界。但是在Python中,我们是通过 换行+4 个空格来表示边界。具体表现如下:

a = 0
if a==1 :
    print('a等于1')
elif a>1 :
    print('a大于1')
else:
    print('a小于1')

注意:条件表达式没有括号,这样一点需要特别注意。在PHP或者JS编程语言中都是有 () 包起来,再通过 {} 定义代码块

2. while 循环

while循环和PHP、JS基本相同。具体表现如下:

a = 1
while a<10:
    print(a)
    a += 1

print('循环结束')

但是,Python中给while循环提供了一个 else 功能,方式如下:

a = 1
while a<10:
    print(a)
    a += 1
else:
    print('循环结束')

看起来有点鸡肋,估计大家应该用不到。

3. for循环

Python中的for循环有点像JS中的 for in 循环,适用于循环遍历列表、字典、集合这一类的数据结构。代码形式如下:

a = [1,2,3,4,5,6]
for x in a :
    print(x)

print('循环结束')

和while循环一样,Python也提供了一个 else 功能,由于这个功能有点鸡肋,我们这里不做过多展示。

上面的方式直接遍历无法获取当前元素的在list中的索引值,如果想要像js那样获取索引,可以结合 enumerate() 函数使用,该函数返回一个枚举,枚举中包含索引值。具体使用方式如下:

imgs = ['../static/zhaojinmai2.jpg','../static/zhaojinmai3.jpg','../static/zhaojinmai4.jpg','../static/zhaojinmai5.jpg']
for index,img_path in enumerate(imgs):
    print(img_path,index)

注意:第一个参数是索引,第二个才是值

不论是while循环还是for循环,Python都提供了一个结束循环的标识 break ,还提供了一个跳过本次循环的标识 continue ,具体代码方式如下:

#while循环终止
a = 1
while a<10:
    if a = 5:
        break
    print(a)
    a += 1
else:
    print('循环结束')

#for循环跳过某次循环
a = [1,2,3,4,5,6]
for x in a :
    if x == 5:
        continue
    print(x)

print('循环结束')

注意:但是用 break 终止当前循环时,不会执行 else 中的代码块

在其他编程语言中,for循环都是定义一个变量,初始值为0,然后循环依次使变量+1,直到最大值结束。这一类的方式如何在python中实现呢?

Python提供了一个 range() 函数来解决这个问题,通过它可以实现上面类似的功能:

for x in range(0,10):
    print(x)
# 打印结果:0 1 2 3 4 5 6 7 8 9

for x in range(0,10,2):
    print(x)
# 打印结果:2 4 6 8 10

注意:range() 函数第二个参数是最大值或最小值,但不包括这个值。第三个参数:表示步进值。

 range() 函数返回的是一个 range 数据结构,不是列表,也不是元组,这一点需要特别注意一下

上面已经实现了从小到大的循环功能,python又如何实现从大到小的循环呢?

其实只要将第三个参数步进值设置成负数即可,具体如下:

for x in range(10,0,-1):
    print(x)
# 打印结果:10 9 8 7 6 5 4 3 2 1

注意了,循环从大到小时,第一个参数是最大值,第二个参数是最小值并且不包括最小值

有遗漏或者不对的可以在我的公众号留言哦

编程经验共享公众号二维码

编程经验共享公众号二维码
更多内容关注公众号
Copyright © 2021 编程经验共享 赣ICP备2021010401号-1