Python基础语法系列8-循环结构

循环结构

循环主要是为了解决代码重复执行的问题,Python 中的循环语句有 for 和 while。

1 while循环

1.1 基础语法

Python 中 while 语句的一般形式:

while 条件语句:
    循环体

说明:

while	-	关键字
条件语句	-	任何有结果的表达式;数据、已经声明过的变量、运算符表达式(不能是赋值语句):	-	固定写法
循环体	-while保持一个缩进的一条或者多条语句;就是需要重复执行的代码段

执行流程图如下:
while循环流程图

执行过程说明:

先判断 '条件语句' 的结果是否为 True, 如果为 True 就执行循环体;
执行完循环体再判断 '条件语句' 的结果是否为 True, 如果为 True 再执行循环体;
以此类推,直到 '条件语句' 的结果为 False 循环就结束

以下是while循环的使用示例:

# 使用while循环计算 1+2+3+4+5 的结果
num = 1		# 声明变量保存最后的结果
sum1 = 0
while num <= 5:
    sum1 += num		# 每次循环让 sum1 的值增加 num
    num += 1		# 每次循环让 num 的值加 1
print(sum1)

'''
代码执行过程:
num = 1
sum1 = 0
第一次循环:num <= 5  ->  1 <= 5(成立)  -> sum1 += num; num += 1; -> sum1 = 0+1=1; num = 1+1=2
第二次循环:num <= 5  ->  2 <= 5(成立)  -> sum1 += num; num += 1; -> sum1 = 1+2=3; num = 2+1=3
第三次循环:num <= 5	->  3 <= 5(成立)	-> sum1 += num; num += 1; -> sum1 = 3+3=6; num = 3+1=4
第四次循环:num <= 5  ->  4 <= 5(成立)	-> sum1 += num; num += 1; -> sum1 = 6+4=10; num = 4+1=5
第五次循环:num <= 5  ->  5 <= 5(成立)	-> sum1 += num; num += 1; -> sum1 = 10+5=15; num = 5+1=6
第六次循环:num <= 5  ->  6 <= 5(不成立) -> 循环结束

'''
1.2 死循环

我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下:

var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)
 
print ("Good bye!")

你可以使用 CTRL+C 来退出当前的无限循环。

2.1.3 while 循环使用 else 语句

在 while … else 在条件语句为 False 时执行 else 的语句块。

语法格式如下:

while 条件语句:
	循环体
else:
	代码块		

循环输出数字,并判断大小:

count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

执行结果:

0  小于 5
1  小于 5
2  小于 5
3  小于 5
4  小于 5
5  大于或等于 5

2 for循环

2.1 for循环语法

for 循环的语法如下:

for 变量 in 序列:
    循环体

说明:

for 	-	关键字;固定写法
in		-	关键字;固定写法
变量	  -	   程序员自己命名;可以是已经赋值过的变量,也可以是没有赋值过的变量
序列	  -    可以是:字符串、列表、字典、集合、元组、迭代器、生成器

执行流程图如下:
在这里插入图片描述

执行过程说明:

让变量去序列中取值,一个一个的取,取完为止;每取一个值,执行一次循环体
(for循环可以通过控制序列中元素的个数来控制循环的次数)

以下是for循环的使用示例:

# 使用for循环将列表中的元素一个一个取出并且打印
languages = ['Python', 'C', 'C++', 'Java'] 
for item in languages:
  print(item)
  
 # 代码执行过程:
 '''
 languages = ['Python', 'C', 'C++', 'Java']
 第一次循环: item = 'Python' -> print(item) -> 打印'Python'
 第二次循环:item = 'C' -> print(item) -> 打印'C'
 第三次循环:item = 'C++' -> print(item) -> 打印'C++'
 第四次循环:item = 'Java' -> print(item) -> 打印'Java'
 '''
2.2 range函数

如果你需要遍历数字序列或想要更好的控制for循环的次数,可以使用内置range()函数:

range函数的三种用法:
range(N)	-	产生 0 ~ N-1 的数字序列
range(M, N) -	产生 M ~ N-1 的数字序列
range(M, N, step)	-	从M开始每次增加step,直到N前一个数字为止

实例如下:

# 用法一:
for x in range(4):
	print(x, end=' ')
    
结果:0 1 2 3 

# 用法二:
for x in range(5, 9):
	print(x, end=' ')
    
结果:5 6 7 8

# 用法三:
for x in range(2, 10, 2):
	print(x, end = ' ')
  
结果:2 4 6 8
2.3 for循环使用else语句

在 for … else 在变量取不到序列中的元素时执行 else 的语句块。

语法格式如下:

for 变量 in 序列:
    循环体
else:
    代码块

遍历字符串中的字符,结束后打印 ‘完成!’:

str1 = 'LOVE'
for ch in str1:
    print(ch)
else:
    print('完成!')

执行结果:

L
O
V
E
完成!

3 break 和 continue 语句

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

while 中使用 break实例:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循环结束。')

输出结果:

4
3
循环结束。

while 中使用 continue:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')

执行结果:

4
3
1
0
循环结束。

for 中使用break和continue实例:

# break实例:
for letter in 'Love You':     
   if letter == 'o':
      break
   print ('当前字母为 :', letter)

print('======================')
# continue实例:
for letter in 'Love You':    
   if letter == 'o':
      continue
   print ('当前字母为 :', letter)

执行结果:

当前字母为 : L
======================
当前字母为 : L
当前字母为 : v
当前字母为 : e
当前字母为 :  
当前字母为 : Y
当前字母为 : u
发布了40 篇原创文章 · 获赞 11 · 访问量 1464

猜你喜欢

转载自blog.csdn.net/yuting209/article/details/105168768