Python 基础语法详解(五)
- Python 循环语句
- 14.1 while 循环
- 实操:
- ①重要命令:continue 和 break
- ②while 循环使用 else 语句
- 实操:
- ③pass 语句
- 14.2 for 循环
- 实操:
- ①上实操——通过索引序列迭代元素
- ②for 循环使用 else 语句
- 实操一:
- 实操二——计算出 100 以内的质数:
- 14.3 拓展两个有关于 continue 的例子
Python 循环语句
python中的循环语句有 for 和 while 两种,下面带领大家一同深入研究一下:
- Python for 循环语法:
for iterating_var in sequence:
statements(s)
- Python while 循环语法:
while expression:
statement(s)
上述只是最基本的 for 和 while 语法,你可以看成是一个组件,你可以灵活的嵌套使用,可以在循环体内嵌入其他的循环体,如在 while 循环中可以嵌入 for 循环,反之亦然。
14.1 while 循环
执行流程图如下:
while 循环就是不停地判断条件是否成立,条件成立则执行循环体,条件不成立时不执行循环体,退出循环。
实操:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
count = 0
while (count < 5):
print('The count is:', count)
count = count + 1
print("Good bye!")
①重要命令:continue 和 break
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于跳过整个循环(即退出循环),此外 “判断条件” 还可以是个常值,表示循环必定成立。
第一个:break 语句
Python break 语句,就像在 C 语言中,打破了最内层封闭的 for 或 while 循环。
break 语句用来终止循环语句,即使循环条件没有 False 或者序列还没被完全递归完,也会停止执行循环语句。
break 语句用在 while 和 for 循环中。
如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。
第二个:continue 语句
Python continue 语句跳出本次循环,而 break 跳出整个循环,这俩一定要区分清哦!
continue 语句用来告诉 Python 跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue 语句用在 while 和 for 循环中。
二者具体用法如下:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
i = 1
while i < 5:
i += 1
if i % 2 > 0: # 非双数时跳过输出
continue
print(i) # 输出双数2、4
i = 1
while 1: # 循环条件为1必定成立
print(i) # 输出1~10
i += 1
if i > 5: # 当i大于5时跳出循环
break
②while 循环使用 else 语句
else 的作用是判断循环是否正常结束,如果循环是被 break 中断 else 里的代码块就不再执行。
实操:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
count = 0
while count < 5:
print(count, " is less than 5")
count = count + 1
else:
print(count, " is not less than 5")
③pass 语句
pass 的作用,表示占位符。
while True:
pass
上面这个程序是不动的,但是不报错。
占位符 pass 的作用:
- 语句的完整性就相当于一个大家庭,pass 的目的是保证语义的完整性。
- 保证格式的一个完整性。
- 就是一个空语句。
14.2 for 循环
执行流程图如下:
for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。
实操:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
for letter in 'Python': # 第一个实例
print('当前字母 :', letter)
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print('当前水果 :', fruit)
print("Good bye!")
①上实操——通过索引序列迭代元素
(大家可以先形象理解下,后面学完列表再回过头来看就会感觉豁然开朗了哦~)
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
fruits = ['banana', 'apple', 'mango']
for i in range(len(fruits)):
print('当前水果 :', fruits[i])
print("Good bye!")
小知识点:
range 是范围,从 0 开始,取头不取尾!
②for 循环使用 else 语句
在 Python 中,for … else , for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
也就是说 for 循环中的 else 部分是循环结束后执行的,但如果循环被 break 结束后,else 部分便不再执行。
实操一:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
for num in range(10, 20): # 迭代 10 到 20 之间的数字
for i in range(2, num): # 根据因子迭代
if num % i == 0: # 确定第一个因子
j = num / i # 计算第二个因子
print('%d 等于 %d * %d' % (num, i, j))
break # 跳出当前循环
else: # 循环的 else 部分
print(num, '是一个质数')
实操二——计算出 100 以内的质数:
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
prime = []
for num in range(2, 100): # 迭代 2 到 100 之间的数字
for i in range(2, num): # 根据因子迭代
if num % i == 0: # 确定第一个因子
break # 跳出当前循环
else: # 循环的 else 部分
prime.append(num)
print(prime)
14.3 拓展两个有关于 continue 的例子
# -*- coding: utf-8 -*-
# __author__ = 帅小柏
for letter in 'Python':
if letter == 'h':
continue
print('当前字母 :', letter)
var = 5
while var > 0:
var = var - 1
if var == 2:
continue
print('当前变量值 :', var)
print("Good bye!")
欢迎通过关注公众号【帅小柏】,加入我们的 Python 大家庭,共同学习进步。