python 中 for & while 循环相关知识

循环

  1. while循环,当条件表达式为真Ture时执行缩进代码反复循环。

  2. i=1
    while i<=100:      #注意以:号结尾
        print(i)
        i+=1
    
  3. for循环,是从一个sequence类型,比如 字符串、列表、元组中依次取出每个元素进行操作;for循环缩进的代码重复循环执行直至循环结束,然后才执行没有缩进的代码(变量停留在最后一次循环的变量值)且只执行一次。

  4. studentAges = ['小王:22','小李:23','小红:20']
    for student in studentAges:      #注意要有:号,studentAges列表中依次取出一个元素赋值给student
        print(student)
    #输出  '小王:22'
    #输出  '小李:23'
    #输出  '小红:20'
    
  5. 循环N次,可以使用for循环和内置类型range(),range()函数: 让python从指定的第一个数开始并在你指定的第二个值后停止,输出不包含第二个值; 使用rang()时,如果输出不符合预期,尝试在指定的值后加一或减一。 range(N)表示循环N次。

  6. for n in range(100):      #range里面的参数为100,即从0-99循环100次
        print(n)              #打印处1,2,3,4....到99
    
  7. enumerate函数:每次迭代返回一个元组,可返回元素索引和元素本身。

  8. 处理数字列表函数max,min,sum,用于找最大值,最小值,求和。

  9. 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
    
  10. 使用函数list( rang())的结果直接转换为列表,将range()作为list()的参数,输出将为一个数字列表。

  11. 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] 
    
  12. #range里面可以放两个参数,表示循环的起止范围。

  13. for n in range(50,101):
        print(n)       #表示从50开始到100结束,共50次循,注意要止于N+1,每取出一个数字之后步长+1 
    #如果想要步长按规定增加多少则写法:range(50,101,5)表示循环50次,从50,55,60....100,每次增加5为一步
    
  14. 创建列表解析。

  15. squarse = [value**2 for value in range(1,9)]      #创建函数解析列表
    print(squarse)                                    #输出:[1,4,9,16,25,36,49,64]
    
  16. 复制整个列表:创建包含整个列表的切片,省略起始索引和终止索引 (写法:[:])。

  17. 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']
    

终止循环

  1. break,表示退出循环

  2. return,只能在函数中使用,表示从函数中返回,不能在函数外面使用

  3. 函数中的循环体代码return和break均可以从循环中跳出。但是,break只是跳出循环,循环后的代码继续执行;

  4. def inputCommand():
         while True:
                command = input('请输入命令')
                if command =='exit':
                    break
                print(f'输入的命令是{command}')
         print('结束')         #当输入exit时,遇到break跳出循环,执行此行函数内语句
    inputCommand()       
    
  5. return是跳出函数,循环外函数内的语句也不执行。

  6. def inputCommand():
         while True:
                command = input('请输入命令')
                if command =='exit':
                    return
                print(f'输入的命令是{command}')
         print('结束')         #当输入exit时,遇到return则从函数里面立即返回,跳出函数,函数体内任何语句均不执行
    inputCommand()    
    
  7. continue,只是结束当前这次循环,continue后边的代码不执行;但是后续的循环还会执行。

列表推导式

  1. 列表推导式:把一列表里面的每个元素经过简单的处理生成另一个列表,如以下代码例子
list1 = [1,2,3,4,5]
list2 = [num**2 for num in list1]     #将列表1中的元素依次取出求平方后的值放入list2列表中
print(list2)

循环嵌套

  1. 循环1里面套循环2,循环规则:循环1执行一次,循环2遍历所有循环完后在执行循环1,循环2继续遍历所有…以此往复直至循环1也遍历完此循环结束,如下代码:
list1 = ['李飞','刘羽','杨超']
list2 = ['马强','阿韦','王云']
for member1 in list1:
    for member2 in list2:
        print(f'{member1}大战{member2}')

冒泡排序

  1. 对数据按大小进行排序,举例代码如下:
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))      
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值