Python循环语句及条件语句

  • 1. for循环
  • 2. while语句
  • 3. if语句
  • 3.1 elif多条件判断
  • 3.2 break关键字
  • 3.3 continue关键字
  • 3.4 pass关键字


1. for循环

  python常用的循环语句之一是for,for一般搭配in使用,in之后接我们要循环的内容,只要是可迭代的对象都行。最常用的还是下面这种:

for i in range(10):
    print(i)
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9

  当我们需要遍历列表时,我们可以利用列表的特性,来简化代码并提高代码的运行速度:

# 定义一个列表
a_list = [1, 2, 'abc', {'DA': 'ta'}, 3.0]
# 对列表的内容进行遍历
for i in a_list:
    print(i)
# 1
# 2
# abc
# {'DA': 'ta'}
# 3.0

  对于字典我们也可以采取相同的方式遍历,但是再对字典遍历时要注意使用items()方法提取出地点的键值对,不然只能遍历字典的键,而不能遍历字典的值:

# 定义字典
a_dict = {'A': 1, 'B': 1.2}
# 遍历字典的键
for key in a_dict:
    print('key: %s' % key)
# key: A
# key: B

# 遍历字典的键和值
for key, value in a_dict.items():
    print('key: %s, value: %s' % (key, value))

# key: A, value: 1
# key: B, value: 1.2

2. while语句

   除for外在python中还可以通过while来实现循环遍历,与for语句不同的是,while会一直遍历符合条件的内容,直到条件不满足:

a = 0
while a < 5:
    # a进行迭代,打印出所有小于5的数,当a大于等于5时结束循环
    print(a)
    a += 1
# 0
# 1
# 2
# 3
# 4

3. if语句

   在使用for和while的过程中,经常会对循环过程进行条件判断,对于满足不同条件的实例执行不同的操作,比如我们想找出1到10之间的偶数,分别用for和while来实现:

a_list = [i for i in range(1, 11)]
for i in a_list:
    if i % 2 == 0:
        print('%d 是偶数' % i)
    else:
        print('%d 不是偶数' % i)
# 1 不是偶数
# 2 是偶数
# 3 不是偶数
# 4 是偶数
# 5 不是偶数
# 6 是偶数
# 7 不是偶数
# 8 是偶数
# 9 不是偶数
# 10 是偶数
i = 1
while i <= 10:
    if i % 2 == 0:
        print('%d 是偶数' % i)
    else:
        print('%d 不是偶数' % i)
    i += 1

3.1 elif多条件判断

  当需要对三个及以上条件进行判断时,就需要使用elif来执行多次判断,下面的代码实现的是当值为1-3时,输出A,3-7时,输出B, 8-10时输出C:

a_list = [i for i in range(1, 11)]
for i in a_list:
    if i <= 3:
        print('%d: A' % i)
    elif i <= 7:
        print('%d: B' % i)
    else:
        print('%d: C' % i)

# 1: A
# 2: A
# 3: A
# 4: B
# 5: B
# 6: B
# 7: B
# 8: C
# 9: C
# 10: C

3.2 break关键字

  在具体问题中,有时会遇到想让循环过程在满足某些条件之后就停止,这就可以通过break关键字来实现。
  下面的代码是找到1到10之间的最小的偶数,我们在找到最小的偶数是之后就跳出循环,代码也就停止运行:

a_list = [i for i in range(1, 11)]
for i in a_list:
    if i % 2 == 0:
        print('%d 是偶数' % i)
        break
    else:
        print('%d 不是偶数' % i)
# 1 不是偶数
# 2 是偶数

i = 1
while i <= 10:
    if i % 2 == 0:
        print('%d 是偶数' % i)
        break
    else:
        print('%d 不是偶数' % i)
    i += 1

3.3 continue关键字

  continue的之后的代码将不会运行,换句话说就是在循环过程中可以使用continue来跳过符合条件的情况:

a_list = [i for i in range(1, 11)]
for i in a_list:
   if i % 2 == 0:
       print('%d 是偶数' % i)
   else:
       continue
       print('%d 不是偶数' % i)
# 2 是偶数
# 4 是偶数
# 6 是偶数
# 8 是偶数
# 10 是偶数

3.4 pass关键字

  pass相当于一个占位符,不起任何作用,个人喜欢在写框架的时候使用。

a_list = [i for i in range(1, 11)]
for i in a_list:
    if i % 2 == 0:
        print('%d 是偶数' % i)
    else:
        pass
        print('%d 不是偶数' % i)
# 1 不是偶数
# 2 是偶数
# 3 不是偶数
# 4 是偶数
# 5 不是偶数
# 6 是偶数
# 7 不是偶数
# 8 是偶数
# 9 不是偶数
# 10 是偶数