Python基础_分支(控制)循环结构

Python学习第三天

接上回分支结构

02、循环结构

在编程中会有很多的代码往复执行操作,对于这种程序语句,不可能写很多一样的代码进行这种循环执行,Python提供循环结构进行代码的循环操作。

循环结构程序中控制某条或某些指令重复执行的结构。
有两种做法:
1、for - in 循环
2、while循环
根据所需要的程序条件进行选择最优的循环方法。

for - in 循环

当明确直到程序执行的次数,选择该循环方法是较好的。

# 用for循环实现1~100求和
Version: 0.1
Author: 骆昊
"""
total = 0
for x in range(1, 101):
    total += x
print(total)

range(a,b,c):用于生成一个从a到b的范围,左闭右开,还可以指定步长c;
range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

while 循环

当不明确执行次数时,就可以用这种循环方式。
while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True则继续循环;表达式的值为False则结束循环。

i = 1
while i != 2:
    print('while循环')
    i += 1     # 当i加1之后,变成了2,再回去判断while的条件,发现不满足,然后就终止循环。

break和continue

提到循环就不得不说break 和continue
break:放在循环程序中,用于终止整个循环结构;
continue:放在循环程序中,用于终止此次循环,并不是退出循环,只是退出这一次循环,不再执行continue以后的代码,又返回到开始循环的地方,进行下一次循环。

i = 1
while i != 3:
    print('while循环')
    i += 1
    break   # 终止整个循环

当i加1之后变成2,如果没有break,那么该循环还会在执行一次,才满足退出循环条件。

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

# 输出结果
4
3
1
0
循环结束。

当n为4,3的时候,程序不执行continue语句,那么他就会打印n的值,当n为2的时候,会执行continue语句,它就会立马退出这次循环,不会执行print语句,然后有再次进入循环,此时的n由之前的2变为1,不执行continue语句,就会执行print

嵌套循环

所谓嵌套循环,也即是将各种循环的语法融入一个程序中,既包含分支,也包含循环。

打印乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{i}*{j}={i * j}', end='\t')
    print()
输入一个正整数判断它是不是素数。
num = int(input('请输入一个正整数: '))
end = int(num ** 0.5)
is_prime = True
for x in range(2, end + 1):
    if num % x == 0:
        is_prime = False
        break
if is_prime and num != 1:
    print(f'{num}是素数')
else:
    print(f'{num}不是素数')

while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。

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

# 输出结果
0  小于 4
1  小于 4
2  小于 4
3  小于 4
4  大于或等于 4

for循环使用else语句

当执行完for语句的循环之后进行else下的语句

for i in range(3):
    print(i)
else:
    print(4)

# 输出结果
0
1
2
4

需要注意:当程序for循环中有break,则else的语句不会执行;continue则会执行else语句

上一篇:poj 3366(水题,注意continue的使用)


下一篇:MySQL定义条件和处理程序