• 005.python基础之循环结构与数字类型数据


    一、流程控制之while循环

    (一)什么是循环

    循环指的就是重复做某件事情。

    (二)为何要有循环

    因为人为了控制计算机能够像人一样重复去做某件事。

    (三)如何使用循环

    使用while语句可以实现循环,由于while循环需要借助条件判断,所以能够循环多少次取决于条件何时变为假。

    1.while循环的基本语法

    while 条件:
    	代码1
    	代码2
    	代码3
    	...
    	
    

    2.死循环

    使用while循环时,如果条件的不变,循环就会变为无限循环,即死循环。

    如果循环仅仅是执行代码,并不会对计算机造成太大负担。

    while True:
        name = input('用户名:')
        pwd = input('密码:')
        print(name,pwd)
        
    

    如果循环是重复计算,一直进行运算会造成CPU过载。

    while True:
        1+1
        
    

    3.结束while循环的两种方式

    (1)把条件变为False,不会立刻结束循环,会等到把本次循环体代码都运行完毕后,下一次循环开始重新判断条件时才会结束while循环。

    示例1:

    n = 1
    while n <= 5:
        if n % 2 == 0:
            print(n)
        n += 1
    
    

    示例2:

    tag = True
    while tag:
        inp_user = input("请输入用户名:  ")
        inp_pwd = input("Password:  ")
        if inp_user == "张三" and inp_pwd == "123":
            print("登录成功")
            tag = False
        else:
            print("用户名或密码错误。请重新输入")
    
        print("李四来了")
    
    

    (2)break结束本层循环,只要运行到break就会立即结束while循环,本次循环的后续代码都不会执行了。

    while True:
        inp_user = input("用户名:  ")
        inp_pwd = input("密码:    ")
        if inp_user == "张三" and inp_pwd == "李四":
            print("登录成功")
            break  # 结束本层循环,即此次while循环结束
        else:
            print("账号或密码错误")
            
        print("李四来了")
        
    

    4.while循环的嵌套

    while True:
        print('here is fist')
        while True:
            print("here is second")
            break
        break
    
    
    n = 1
    while n <= 3:
        print("外层循环第%s次" % n)
        i = 1
        while i <= 2:
            print("=====>>>>>内层循环第%s次" % i)
            i += 1
        n += 1
    
    
    n = 1  # 也可以自定义tag=True
    while n <= 3:
        print("外层循环第%s次" % n)
        tag = True
        while tag:
            print("=====>>>>>内层循环第1次" )
            tag = False
        n += 1
    
    

    5.while+continue:

    continue结束本层循环,直接进入下一次

    n = 1
    while n <= 5:
        if n == 4:
            n += 1
            continue
            # n += 1  # 切忌在continue的同级代码下的代码
        print(n)
        n += 1
    
    while True:
        inp_user = input("用户名:  ")
        inp_pwd = input("密码:  ")
        if inp_user == "张三" and inp_pwd == "李四":
            print("登录成功")
        else:
            print("登陆失败,请重新登录")
            continue
        print("Loading================")
        break
    
    

    6.while+else:

    else的子代码会在循环正常结束的情况下运行(被break终结while循环的情况称之为非正常结束)。

    n = 1
    while n <=5:
        if n == 4:
            n += 1
            continue
        print(n)
        n += 1
    else:
        print('else 子代码块运行')
    
    n = 1
    while n <=5:
        if n == 4:
            break  # 结束后,后续代码不执行
        print(n)
        n += 1
    else:
        print('else 子代码块运行')    
      
    

    二、流程控制之for循环

    (一)为何要有for循环

    for循环是为了解决while循环在某些场景下较为复杂的问题,比如循环取值,起到精简代码的作用。

    names = ["张三","李四","罗翔"]
    i = 0
    while i < len(names):
        print(names[i])
        i += 1
    
    

    注意:for循环的次数取决in后跟那个对象里有多少值

    names = ["张三","李四","罗翔"]
    for item in names:
        print(item)
    
    dic={0.1:"张三","k2":"李四"}
    for k in dic:
        print(k,dic[k],type(k))
        
    

    (二)如何使用for循环

    1.for + range:

    range(起始位置(不写默认0),结束位置(不取值,必写),步长(不写默认1))

    """
    >>> range(1,5,1) # 1 2 3 4
    [1, 2, 3, 4]
    >>> range(1,5,2) # 1 3
    [1, 3]
    >>>
    >>> range(1,5)
    [1, 2, 3, 4]
    >>> range(5) # 0 1 2 3 4
    [0, 1, 2, 3, 4]
    """
    
    for i in range(5):
        print(i)
    0
    1
    2
    3
    4
    
    for j in range(1,5,2):
        print(j)
    1
    3
    
    
    n = 1
    while n <= 3:
        print("do it *%s" % n)
        n += 1
    do it *1
    do it *2
    do it *3
    
    for i in range(3):
        print("do it *%s" % i)  # 使用for之后语法简洁
    do it *0
    do it *1
    do it *2
        
    

    2.for + break

    for i in range(1,6):
        if i == 4:
            break  # 直接打断循环
        print(i)
    1
    2
    3
    
    

    3.for + continue

    for i in range(1,6):
        if i == 4:
            continue  # 跳过本层,由于取值不被影响,故继续执行循环
        print(i)
    1
    2
    3
    5
    
    

    4.for + else

    for i in range(1,6):
        print(i)
    else:
        print("======")
    1
    2
    3
    4
    5
    ======
    
    

    5.for 循环嵌套

    for i in range(3):
        print("外层循环第%s次" % i)
        for j in range(2):
            print("=======>>>>>内层循环第%s次" % j)
    外层循环第0次
    =======>>>>>内层循环第0次
    =======>>>>>内层循环第1次
    外层循环第1次
    =======>>>>>内层循环第0次
    =======>>>>>内层循环第1次
    外层循环第2次
    =======>>>>>内层循环第0次
    =======>>>>>内层循环第1次
    
    

    6.强调:在循环的过程中不要修改被循环的对象

    l = ['a', 'bb', 'c']
    for i in l:
        # del l[-1] # 在读的过程中不要对被循环对象做增、删除、修改操作,否则会使程序可读性变差。
        print(i)
    
    

    三、基本数据类型之数字类型

    在python3中有两个与数字有关的数据类型,整型int与浮点型float,为了方便理解,将他们合并称为数字类型。

    (一)基本使用

    1.用途

    int:记录年龄、等级等

    float:身高、体重、薪资等

    2.定义方式

    x = 11  # x=int(11),解释器帮助省略了int()表达式
    y = 3.1 # y=float(3.1)
    print(type(y))  # <class 'float'>
    
    # 数据类型转换
    res=str(x)
    print(res,type(res)) # "11"
    
    age = input('>>>: ') # age="11"
    res=int(age) + 1  #  数据类型转换后方可进行数字运算
    print(res)  # 11 <class 'str'>
    
    # int可以把纯数字的字符串转换成整型,不可以有小数点等其他非数字内容
    res=int("123123123123123")
    print(res,type(res))  # 123123123123123 <class 'int'>
    
    # float可以把小数组成的字符串转换成浮点型
    res=float("3.1")
    print(res,type(res))  # 3.1 <class 'float'>
    
    

    3.常用操作+内置的方法

    主要用于数学运算符与比较运算。

    # 需要掌握:
    # 十进制转成二进制
    print(bin(12306))  # 0b11000000010010
    
    # 十进制转成八进制
    print(oct(12306))  # 0o30022
    
    # 十进制转成十六进制
    print(hex(12306))  # 0x3012
    
    

    (二)该类型总结

    1.存一个值or存多个值

    int与float都只能存一个值

    2.可变or不可变

    (1、可变:值变,id不变。可变不可hash 2、不可变:值变,id就变。不可变可hash)

    int与float都是不可变类型

  • 相关阅读:
    斯坦福机器学习实现与分析之二(线性回归)
    理解Kalman滤波的使用
    浅谈程序优化
    2014年,我学到了什么
    运动目标跟踪中kalman滤波器的使用
    图像水波纹特效原理分析和实现
    Redis与memached的区别
    Freemarker讲解
    Java基础知识总结
    Java中GC的工作原理
  • 原文地址:https://www.cnblogs.com/huluhuluwa/p/13052775.html
Copyright © 2020-2023  润新知