zoukankan      html  css  js  c++  java
  • python学习笔记之--循环for和while

    for循环遍历

    for i in xxx:

        代码块

    i:是一个变量,是把xxx里面的某一个值取出来存到i里面

    xxx:可以是序列(序列包括:列表、元祖、字符串),还可以是迭代对象

    >>> for i in "abc":
    ...     print(i)
    ...
    a
    b
    c

    #调试技巧 例题:求列表[1,2,3,4]的和 打印出每一步的结果

    >>> result =0
    >>> for i in [1,2,3,4]:
    ...     print("i的取值",i)
    ...     result+=i
    ...     print("计算结果",result)
    ...
    i的取值 1
    计算结果 1
    i的取值 2
    计算结果 3
    i的取值 3
    计算结果 6
    i的取值 4
    计算结果 10
    >>> print(result)
    10

    #通过索引循环遍历

    >>> fruits = ['banana','apple','mango']
    >>> for index in range(len(fruits)):
    ...     print(fruits[index])
    ...
    banana
    apple
    mango
    >>>

    以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

    while循环遍历

    while True:

        代码块

    True:条件,只要条件是True 代码块会永远执行

    死循环应用场景:

        1 服务器端:一般死循环

        2 你也不知道循环多少次的时候就要用到死循环

    >>> a = 0
    >>> while a<=5:
    ...     print(a)
    ...     a+=1   #相当于a=a+1
    ...
    0
    1
    2
    3
    4
    5


    #练习题:

    用死循环实现:

      用户输入数字,判断是奇数还是偶数

      当输入的数字是100的时候,结束第循环

    >>> while 1:
    ...     user_num =int(input("请输入一个数字:"))
    ...     if user_num%2==0:
    ...         print("%s 是偶数" %user_num)   #模板字符串
    ...     else:
    ...         print("%s 是奇数" %user_num)
    ...     if user_num==100:
    ...         break
    ...
    请输入一个数字:2
    2 是偶数
    请输入一个数字:3
    3 是奇数
    请输入一个数字:4
    4 是偶数
    请输入一个数字:5
    5 是奇数
    请输入一个数字:6
    6 是偶数
    请输入一个数字:100
    100 是偶数
    >>>

    break和continue

    break:彻底结束循环
    continue:跳出本次循环,执行下一次

    对比示例:

    >>> for i in range(10):
    ...     if i==3:
    ...         break   #整个for循环结束,>=3的数字不在打印
    ...     print(i)
    ...
    0
    1
    2
    >>> for i in range(10):
    ...     if i==3:
    ...         continue   #跳过i==3这次循环不打印,for循环继续后面的循环
    ...     print(i)
    ...
    0
    1
    2
    4
    5
    6
    7
    8
    9
    >>>

    for/while...else...搭配的诡异用法:

    #没有break
    >>> for i in range(5): ... if i == 3: ... continue ... print(i) ... else: #else语句被执行 ... print("no break") ... 0 1 2 4 no break

    #有break

    >>> for i in range(5):
    ...     if i == 3:
    ...         break
    ...     print(i)
    ... else:   #else没有被执行
    ...     print("no break")
    ...
    0
    1
    2
    >>>

    总结:只要循环体内部没有执行break就会执行else部分的代码
    例:
    
    题目:[1,2,3,4,5,7]你输入一个数字,判断一下是否在这个list中,执行3次这个逻辑。
    
    算法:
    
    1、循环3次 (forfor i in range(3)
    
    2、输入一个数字(input),存到某个变量里
    
    user_num =int(input("请输入一个数字:"))
    
    3、判断这个数字在不在[1,2,3,4,5,7]
    
    desc_list =[1,2,3,4,5,7]
    
    4、如果在,打印一下;不再也打印一下。
    
    if user_num in desc_list:
    
      print("%s 在" %user_num)
    
    else:
    
      print("%s 不在" %user_num ) 
    
    实现:
    
    >>> desc_list =[1,2,3,4,5,7]
    >>> for i in range(3):
    ...     user_num =int(input("请输入一个数字:"))
    ...     if user_num in desc_list:
    ...         print("%s 在" %user_num)#模板字符串表达方式 "%s a number" %1   '1 a number'
    ...     else:
    ...         print("%s 不在" %user_num)
    ...
    请输入一个数字:5
    5 在
    请输入一个数字:2
    2 在
    请输入一个数字:1
    1>>>
  • 相关阅读:
    网络七层
    微信小程序开发工具 常用快捷键
    BZOJ 1026 windy数 (数位DP)
    BZOJ 1026 windy数 (数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    CodeForces 55D Beautiful numbers (SPOJ JZPEXT 数位DP)
    HDU 3709 Balanced Number (数位DP)
    HDU 3709 Balanced Number (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
    UVA 11361 Investigating Div-Sum Property (数位DP)
  • 原文地址:https://www.cnblogs.com/wenm1128/p/11558072.html
Copyright © 2011-2022 走看看