文章目录
1.循环结构
循环结构就是重复的执行一条或若干语句,在日常生活中,像修铁路、盖房子这样的工程,大多来说都是不达到目标之前都在重复的去执行相同的操作,也就是在循环的做同一件事情。
对于循环结构,主要分为两种类型:
- 条件控制的循环
条件控制的循环是指采用一个表达式(可真可假)来控制循环的次数,while语句可以满足这种循环。
- 计数控制的循环
计数控制的循环是根据指定的次数来进行循环,for语句可以满足这种循环。
1.while循环
当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:
while True:
循环体
例:
小明的爸爸对他管教的很严格,他爸爸给他规定,每天晚上放学回到家中都需要写五道编程题,写完了才可以玩手机。
count = 0
while count < 5:
count += 1
if count < 5:
print('现在是第', count, '道,需要继续答题')
print('小明已经完成', count, '道题目,可以玩手机了')
1. 无限循环(死循环)
对于大多数循环来说,循环体内一定要有结束循环的操作,意思就是循环内部存在让表达式的判断为假的语句,如果缺少了这样的语句,那么循环没有停下来的方法,那么就会形成无限循环,也就是死循环。
例:
number = 10
while number < 100:
print(number)
对于上面这个语句,当执行了之后,程序就会一直执行,没有条件能够使得number大于或等于100,因此形成了无限循环。
写循环语句的时候一定要注意控制条件。
2.for循环
for循环是通过次数的大小来进行循环,通常我们会使用遍历序列或枚举以及迭代来进行循环。
for 迭代变量 in 对象:
循环体
迭代变量在我们每一次循环中保存根据变量得到的值,对象既是有序的序列,可以是字符串、元组、列表,也可以是无序的序列,例如字典。而循环体则为一条或若干条会被重复执行的语句。
for循环可迭代的对象类型:
index = [1, 2, 3, 4] # 列表
string = 'abcdef' # 字符串
sets = (1, 2, 3, 4) # 集合
for i in index:
print(i)
print("********************")
for j in string:
print(i)
print("********************")
for k in sets:
print(i)
例:
for i in range(10)
i为迭代对象,range(10)为对象,这个对象为一个0-9的序列,等价于[0,1,2,3,4,5,6,7,8,9]
当进入这个循环,首先会判断0-9是否遍历完,如果还未开始,则从第一个开始遍历,第一次是直接进入循环体,然后再次回到判断,判断是否还有值未进入循环,如果存在,就取这一项再次进入循环体,直到序列中的对象全部遍历完,然后退出循环。
例:
index = 5
for i in range(index):
print("这是第",i,'项')
1. range()函数
for循环中离不开range()函数,range()函数是Python内置的函数,它被用于生成一系列连续的整数
range(start, stop[, step])
start:计数的第一个值,是包含这个值,如果没有start的时候默认为0。
stop:计数的最后一位,不包含这个值。如:range(1,3),等同于[1,2]是没有3这个数字的。range(3),对应的是[0,1,2]这样一个序列。
step:为步长,用来控制取数之间的间隔,如果省略则默认为1,如果为2,3等,则步长为2,3等。前大后小步长为负数。
a=list(range(10)) #范围0-9
print(a)
a=list(range(1, 11,1)) #范围1-10
print(a)
a=list(range(0, 30, 5)) #范围0-29,步长为5
print(a)
a=list(range(0, 10, 3)) #范围0-9,步长为3
print(a)
a=list(range(0, -10, -1)) #范围0-(-10),步长为-1
print(a)
a=list(range(0))
print(a)
a=list(range(1, 0))
print(a)
3.循环嵌套
嵌套循环和if语句的嵌套原理相似,就是在一个循环体内嵌套另外一个循环体。不同的是循环嵌套可以采用for-for嵌套、for-while嵌套、while-for嵌套、以及while-while嵌套四种形式。
1. for-for嵌套
for i in range(n):
for j in range(m):
循环体2
循环体1
例:
定义两个列表(一种存储数据的容器)。
list_first = [1,2,3,4,5,6,7,8,9]
list_second = [2,4,8,10,12,20]
我们要找到两个列表中相同的数据并打印出来。
list_first = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_second = [2, 4, 8, 10, 12, 20]
for i in list_first:
for j in list_second:
if i == j:
print(i)
2. for-while嵌套
for 变量 in 对象:
while 条件:
循环体2
循环体1
例:
index = [1,32,77,121,150]
遍历输出index列表中的值,对于小于100的数,把它每次加上10,直到大于100后再输出。
index = [1, 32, 77, 121]
for i in index: # 遍历index
while i < 100: # 如果i小于100
i += 10 # 每次加上10
print(i)
3. while-while嵌套
while 条件:
while 条件:
循环体2
循环体1
4. while-for嵌套
while 条件:
for 变量 in 对象:
循环体2
循环体1