美文网首页
12-28if for while 运用

12-28if for while 运用

作者: 生命的怒放 | 来源:发表于2018-12-28 20:52 被阅读0次

    一。if运用

    结构一:if

    1.什么时候需要使用if

    如果做某件事情(执行某段代码)需要满足某个条件才行,就考虑使用if.

    2.怎么使用if

    a.语法

    if 条件语句:
    (固定缩进)代码段1
    其它语句(别的代码)

    b.说明:

    1.if - 关键字,是如果的意思。
    2.条件语句 - 任意一个有结果的语句,最好结果是布尔。如果不是布尔值,会转换成布尔再判断。
    3.: - 固定写法。在python中只要有冒号,冒号后面第一行代码都会有缩进。冒号缩进组合形成一个代码段,相当于c里面的大括号
    4.代码段1 - 和if保持一个缩进的语句。可以是一行,也可以是多行。

    c.执行过程:

    先判断条件语句的结果是否为True.如果为True就执行代码段1,然后再执行后面的其它语句; 如果为False,就不执行代码段1,直接执行if外面的其他语句。

    总结:需要满足某个条件才能执行的语句就写在if里面,不管条件是否满足都要执行的语句,写在if外面。
    #练习:输入一个数,如果这个数能被3整除,就打印“XX是3的倍数”
    num = int(input('请输入一个整数:'))
    if num % 3 == 0:
        print('%d是3的倍数' % num)  
    

    结构二:if-else结构

    a.语法

    if 条件语句:
    (固定缩进)代码段1
    else:
    (固定缩进)代码段1
    其它语句(别的代码)

    b.说明

    else - 关键字,固定写法;不满足if条件的其它情况。

    c.执行过程:

    先判断条件是否为True,如果为True就执行代码段1;否则执行代码段2。

    # 练习:输入一个整数,如果这个数是偶数就打印’xx是偶数‘,否则打印’xx是奇数‘
    num1 = int(input('请输入一个整数:'))
    if num1 % 2 == 0:         #==0可以省略,省略后True = 1时是奇数。
        print('num1是偶数')    #满足条件才执行。
    else:
        print('num1是奇数')    #不满足条件才执行。
    

    结构三:if - elif - else结构

    a.语法

    if 条件语句:
    (固定缩进)代码段1
    elif 条件语句2: if如果不成立,则判断条件语句2,如果不成立,跳过代码段2,再判断条件语句3
    (固定缩进)代码段2 -- if如果成立,执行代码段1,然后整个if结构结束,直接执行其他语句。
    elif 条件语句3:
    (固定缩进)代码段3
    其它语句(别的代码)

    b.说明

    elif - 关键字;在前面的条件不满足的前提下,判断其他条件是否满足。

    c.执行过程:

    if如果成立,执行代码段1,然后整个if结构结束,直接执行其他语句。
    if如果不成立,再判断条件语句2,如果成立,执行代码段2。然后整个fi结构结束,执行其他语句;
    以此类推, 如果条件语句都不成立,就执行else 后面的代码段n。

    注意:a.后面的条件语句的判断都是在前面的条件不成立的前提下执行的。b.else不是一定要写,根据情况后面的else结构可以没有!
    #练习月薪多少决定去哪儿玩 
    salary = 2
    if salary <= 0.5:
        print('家里蹲')
    elif salary <=1:
        print('同城游')
    elif salary <= 1.5:
        print('国内游')
    else :
        print('国外游!')
    

    结构四:if的嵌套使用:在if结构中还可以再写入if结构。

    如果输入一个数,如果是偶数,打印偶数。并判断这个偶数是否整除4

    num = int(input('请输入一个整数:'))
    if num % 2 ==0:
        print('%d是一个偶数' % num)
        #嵌套的if
        if num % 4 ==0:
            print('%d是4的倍数。' % num)
        else:
            print('%d不是4的倍数。'% num)
    else:
        print('这是一个奇数。')
        #也可以嵌套if语句。
    

    结构五:if在python中的三目运算符

    C/java/JS语言中有一个三目运算符: 表达式?值1:值2 -> 判断表达式的值是否为True,为True整个 表达式的结果是值1,否则是值2.

    python中的三目运算符:值1 if 表达式 else 值2 -> 跟上面一样。
    当我们要根据某个条件是否成立,获取不同的值的时候才使用三目运算。
    num1,num2 = 10,100  # 比较哪个数大。
    max =num1 if num1 > num2 else num2
    

    二。for循环

    1.为什么要使用循环

    python中的循环结果有两种:for循环和while循环
    当程序实现实现某个功能的时候发现某个操作需要重复执行,这个时候就考虑使用循环。

    2.for 循环

    a.语法

    for 变量 in 序列:
    (固定缩进)循环体

    b.说明
    1. for - 关键字
    2. 变量 - 一个变量名,可以是已经赋值过的变量,也可以是新的变量(一般是新的变量)。
    3. in - 固定写法
    4. 序列 - 属于序列类型的数据;python中的序列有:字符串、列表、字典、集合、元祖、range/迭代器、生成器
    5. : - 固定写法。
    6. 循环体 - 需要重复执行的代码就放在循环体中;需要与for保持一个缩进。
    c.执行过程(重要!)

    让变量在序列中取值,一个一个的取,取完为止;每取一个值,执行一次循环体。
    序列中元素的个数,决定了循环体执行的次数。

    #练习:给一个字符串'asdf 234324$%^& awef',统计这个字符串中数字字符的个数。
    sgsu = 0
    for num in 'asdf 234324$%^& awef':
        if '0' <= num <='9':
            sgsu +=1
    print('数字个数:%d' % sgsu)
    

    3.range函数:

    range(N) -- 产生数字序列0~N-1 (N必须是整数,N大于0)
    range(M,N) --产生数字序列M~N-1 (M,N必须是整数,N>M)
    range(M,N,step) --从M开始,每次值加step产生下一个数字,直到N前一个位置。(M,N必须是整数)

    #计算1+2+3……100
    he = 0
    for num3 in range(1,101,1):  #最后一个1可以省略。
        he += num3
    print(he)
    

    三。while循环

    a.语法

    while 条件语句:
    (固定缩进)循环体

    b.说明
    1. while - 关键字;当……的时候
    2. 条件语句 - 和if后面的条件要求一样,只要有结果就行。(赋值语句不行,别的语句都行。)
    3. : - 固定写法。
    4. 循环体 - 需要重复执行的语句写在循环体中;循环体和while保持一个缩进。
    c.执行过程

    当程序执行到while循环,就先判断条件语句是否为True,为True就执行一次循环体,执行完循环体再判断条件语句是否为True,再执行循环体……直到判断条件语句的结果是False,循环就结束,直接执行后面的其它语句。

    #练习:注册输入密码。要求密码至少6位
    str4 = input('请输入密码:')
    while len(str4) < 6:
        str4 = input('请重新输入密码:')
    print('密码输入完成!')
    

    for和while的选择

    for循环可以做到的while都能做到,while能做到的for不一定可以做。

    使用for:a.遍历序列    b.循环次数确定
    使用while:a.死循环    b.循环次数不确定
    

    四。continue break else

    1.continue是python关键字,只能用在循环体中

    功能:执行循环体执行到continue的时候,结束当次循环,直接进入下次循环的判断。 for循环变量去取下一个值;while循环直接去判断while后面的条件是否为True。

    for x in range(3):
        print('234we')
        print('werew')
        continue                #第三个print不执行,进入下次的循环。
        print('sdfwq23')
    x=1
    while x < 100:
        x += 1
        if x % 3 == 0:
            continue
        print(x)
    

    2.break是python关键字,只能用在循环体中!

    功能:执行循环体的时候遇到break循环直接结束。直接执行循环后面的其它语句。

    #找到大于111的数字当中,第一个能被17整除的数
    num = 111
    while True:
        if num % 17 ==0:
            print(num)
            break
        num += 1
    

    3.else

    1.for else

    for 变量 in 序列:
    (固定缩进)循环体
    else:
    (固定缩进)代码段

    2.while else

    while 条件语句:
    (固定缩进) 循环体
    else:
    (固定缩进) 代码段

    注意:执行过程:循环执行过程不变,else后面的代码段是在循环自然结束时就会执行;如果是因为遇到break而结束循环,就不会执行。

    for x in range():
        print(x)
        if x ==3:
            break
    else:
        print('for自然结束')  #循环遇到break不会执行
    print('asdfqw')          #不管循环怎么结束都会执行
    

    相关文章

      网友评论

          本文标题:12-28if for while 运用

          本文链接:https://www.haomeiwen.com/subject/bigelqtx.html