循环
-
while循环,当条件表达式为真Ture时执行缩进代码反复循环。
-
i=1 while i<=100: #注意以:号结尾 print(i) i+=1
-
for循环,是从一个sequence类型,比如 字符串、列表、元组中依次取出每个元素进行操作;for循环缩进的代码重复循环执行直至循环结束,然后才执行没有缩进的代码(变量停留在最后一次循环的变量值)且只执行一次。
-
studentAges = ['小王:22','小李:23','小红:20'] for student in studentAges: #注意要有:号,studentAges列表中依次取出一个元素赋值给student print(student) #输出 '小王:22' #输出 '小李:23' #输出 '小红:20'
-
循环N次,可以使用for循环和内置类型range(),range()函数: 让python从指定的第一个数开始并在你指定的第二个值后停止,输出不包含第二个值; 使用rang()时,如果输出不符合预期,尝试在指定的值后加一或减一。 range(N)表示循环N次。
-
for n in range(100): #range里面的参数为100,即从0-99循环100次 print(n) #打印处1,2,3,4....到99
-
enumerate函数:每次迭代返回一个元组,可返回元素索引和元素本身。
-
处理数字列表函数max,min,sum,用于找最大值,最小值,求和。
-
list1=[1,2,3,4,5,6,7,8,9] min(list1) #找列表最小值 max(list1) #找列表最小值 sum(list1) #找列表最小值 print(min) #输出1 print(max) #输出9 print(sum) #输出45
-
使用函数list( rang())的结果直接转换为列表,将range()作为list()的参数,输出将为一个数字列表。
-
eg:numbers = list(range(1,6)) even_numbers=list(range(1,6,2)) #步长为2 print(numbers) #输出[1,2,3,4,5] print(even_numbers) #输出[1,3,5]
-
#range里面可以放两个参数,表示循环的起止范围。
-
for n in range(50,101): print(n) #表示从50开始到100结束,共50次循,注意要止于N+1,每取出一个数字之后步长+1 #如果想要步长按规定增加多少则写法:range(50,101,5)表示循环50次,从50,55,60....100,每次增加5为一步
-
创建列表解析。
-
squarse = [value**2 for value in range(1,9)] #创建函数解析列表 print(squarse) #输出:[1,4,9,16,25,36,49,64]
-
复制整个列表:创建包含整个列表的切片,省略起始索引和终止索引 (写法:[:])。
-
my_foods = ['pizza','cake'] frind_foods = my_foods[:] #完全复制 my_foods = ['pizza','cake']列表 my_foods.append('cannoli') #在我喜欢的食物列表后添加一cannoli元素 frind_foods.append('ice cream') #在我朋友喜欢的食物列表后添加一ice cream元素 print('my favorite foods are:' + 'my_foods') #输出['pizza','cake','cannoli'] print('\nmy frind favorite foods are:' + 'frind_foods') #输出['pizza','cake','ice cream']
终止循环
-
break,表示退出循环
-
return,只能在函数中使用,表示从函数中返回,不能在函数外面使用
-
函数中的循环体代码return和break均可以从循环中跳出。但是,break只是跳出循环,循环后的代码继续执行;
-
def inputCommand(): while True: command = input('请输入命令') if command =='exit': break print(f'输入的命令是{command}') print('结束') #当输入exit时,遇到break跳出循环,执行此行函数内语句 inputCommand()
-
return是跳出函数,循环外函数内的语句也不执行。
-
def inputCommand(): while True: command = input('请输入命令') if command =='exit': return print(f'输入的命令是{command}') print('结束') #当输入exit时,遇到return则从函数里面立即返回,跳出函数,函数体内任何语句均不执行 inputCommand()
-
continue,只是结束当前这次循环,continue后边的代码不执行;但是后续的循环还会执行。
列表推导式
- 列表推导式:把一列表里面的每个元素经过简单的处理生成另一个列表,如以下代码例子
list1 = [1,2,3,4,5]
list2 = [num**2 for num in list1] #将列表1中的元素依次取出求平方后的值放入list2列表中
print(list2)
循环嵌套
- 循环1里面套循环2,循环规则:循环1执行一次,循环2遍历所有循环完后在执行循环1,循环2继续遍历所有…以此往复直至循环1也遍历完此循环结束,如下代码:
list1 = ['李飞','刘羽','杨超']
list2 = ['马强','阿韦','王云']
for member1 in list1:
for member2 in list2:
print(f'{member1}大战{member2}')
冒泡排序
- 对数据按大小进行排序,举例代码如下:
def bubbleSort(arr):
length = len(arr)
for n in range(length-1,0,-1): #倒着索引最后一个元素索引为length-1,第一个元素索引为0,每遍历一次向左一位步长为-1
for i in range(0,length-1): #将每次遍历到的对象放i列表中
if arr[i]>arr[i+1]:
arr[i],arr[i+1]=arr[i+1],arr[i] #将列表中元素按从小到大顺序排列
return arr
arr = [23,11,43,32,53,19]
print(bubbleSort(arr))