• 循环


    while循环

    定义:

    循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出

    为什么要使用:

    重复执行某些命令

    使用方法

    while 条件:
         代码1
         代码2
         代码3
    print(3)
    

    例:

    while count < 5: 
        print(count) 
        count+=1 
    

    死循环与效率问题

    count=0
    while count < 5: # 5 < 5
        print(count) # 0,1,2,3,4
    
    while True:
        name=input('your name >>>> ')
        print(name)
    

    纯计算无io的死讯会导致致命的效率问题

    while True:
        1+1
    
    while 1:
        print('xxxx')
    

    退出循环的两种方式

    方式一:将条件改为False,等到下次循环判断条件时才会生效
    例:

    while tag:
        inp_name=input('请输入您的账号:')
        inp_pwd=input('请输入您的密码:')
        if inp_name  == username and inp_pwd == password:
            print('登录成功')
            tag = False 
        else:
            print('账号名或密码错误')
        # print('====end====')
    

    方式二:break,只要运行到break就会立刻终止本层循环

    while True:
        inp_name=input('请输入您的账号:')
        inp_pwd=input('请输入您的密码:')
    
        if inp_name  == username and inp_pwd == password:
            print('登录成功')
            break # 立刻终止本层循环
        else:
            print('账号名或密码错误')
    

    for循环

    什么是for循环

    循环就是重复做某件事,for循环是python提供第二种循环机制

    为什要有for循环

    理论上for循环能做的事情,while循环都可以做,之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁

    如何使用for循环

    语法:

    for  变量名 in 可迭代对象:# 可迭代对象可以是:列表、字典、字符串、元组、集合
          代码1
          代码2
          代码3
           。。。。
    

    for基本使用之循环取值

    列表循环取值

    l = ['alex_dsb', 'lxx_dsb', 'egon_nb']
    for x in l:  # x='lxx_dsb'
        print(x)
    
    l = ['alex_dsb', 'lxx_dsb', 'egon_nb']
    i=0
    while i < 3:
        print(l[i])
        i+=1
    

    字典循环取值

    dic={'k1':111,'k2':2222,'k3':333}
    for k in dic:
        print(k,dic[k])
    

    字符串循环取值

    msg="you can you up,no can no bb"
    for x in msg:
        print(x)
    

    总结for循环与while循环的异同

    1、相同之处:都是循环,for循环可以干的事,while循环也可以干
    2、不同之处:
    while循环称之为条件循环,循环次数取决于条件何时变为假
    for循环称之为"取值循环",循环次数取决in后包含的值的个数

    for+break: 同while循环一样

    for+else:同while循环一样

    username='egon'
    password='123'
    for i in range(3):
        inp_name = input('请输入您的账号:')
        inp_pwd = input('请输入您的密码:')
    
        if inp_name == username and inp_pwd == password:
            print('登录成功')
            break
    else:
        print('输错账号密码次数过多')
    

    for+continue

    for i in range(3):
        print('外层循环-->', i)
        for j in range(5):
            print('内层-->', j)
    

    补充:终止for循环只有break一种方案

    for循环控制循环次数:range()

    in后直接放一个数据类型来控制循环次数有局限性:当循环次数过多时,数据类型包含值的格式需要伴随着增加

    range功能介绍

    >>> range(10)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> 
    >>> range(1,9) # 1...8
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> 
    >>> range(1,9,1) # 1 2 3 4 5 6 7 8 
    [1, 2, 3, 4, 5, 6, 7, 8]
    >>> range(1,9,2) # 1 3 5 7 
    [1, 3, 5, 7]
    
    努力学习!
  • 相关阅读:
    POJ2182Lost Cows
    BZOJ4003: [JLOI2015]城池攻占
    POJ1635Subway tree systems
    BZOJ1005: [HNOI2008]明明的烦恼
    POJ1182 NOI2001 食物链
    栈的链式实现
    栈的数组实现
    链表ADT的实现
    #ifndef的用法
    using namespace std
  • 原文地址:https://www.cnblogs.com/Orange-YXH/p/13648085.html
Copyright © 2020-2023  润新知