zoukankan      html  css  js  c++  java
  • Python3.7条件与循环

    Pythn条件与循环

    一:Python条件判断

    条件语句是指根据条件表达式的不同计算结果,使程序流转到不同的代码块。

    1if条件语句

    if语句用于判断某个条件是否成立,如果成立,则执行语句内的程序,否则跳过if语句执行后面的内容。其语法格式为:

    if(条件)

    语句块

    语句块是一组程序语句,在python采用空格缩进的方式表示一组语句,通常4个空格表示一组语句,使程序员在编码时减少代码量。

    1

    >>> money=100

    >>> if (money>99):

            print ("语句1")

            print ("语句2")

            

    语句1

    语句2

    2在编辑模式中输入下列代码,并执行脚本

    print ('请输入考试成绩:')

    score=int(input())

    if score>=60:

        print ('合格')

    if score<60:

    print ('不合格')

    2:条件表达式与关系运算符

    使用if语句时,要用到条件表达式和关系运算符,他们可以经过运算得到布尔值。

    常用的关系运算符:

    关系运算符

    说明

    ==

    等于

    !=

    不等于

    >

    大于

    <

    小于

    >=

    大于等于

    <=

    小于等于

    例:

    >>> print (10==9)

    False

    >>> print (10!=9)

    True

    3if-else条件语句

    if语句可以加上else关键字,根据条件判断,决定执行不同的语句块。当条件为真时,执行语句块1;当条件为假时,执行语句块2语法如下:

    if(条件)

       语句块1

    else

       语句块2

    例:(在编辑模式中编辑)

    print ('请输入成绩:')

    score=int(input())

    if score>=60:

        print ('合格')

    else:

        print ('不合格')

    4:多重if语句

    if-else语句通过条件判断程序时可以由两个语句块,但是有时需要更多的路径进行处理,这时可以加入elif关键字来处理。语法为:

    if(条件1):

      语句块1

    elif(条件2)

      语句块2

    elif(条件3)

      语句块3

    ......

    else

       语句块

    例:(在编辑模式中输入代码)

    print ('请输入成绩:')

    score=int(input())

    if score>=90:

        print ('优秀')

    elif score>=70:

        print ('良好')

    elif score>=60:

        print ('合格')

    else:

    print ('不及格')

    5if语句的注意事项

    (1) 使用if-elif-else语句时,条件时由上向下判断,如果条件成立,后面的判断将不再执行

    (2) if语句中语句块没有缩进也是经常犯的错误

    (3) 表达式后面要加上冒号

    二:while循环

    1while循环可以根据条件进行判断,决定是否要循环执行语句块。

    语法格式为:

    while 循环条件

      循环操作语句

    注意:循环条件后面也要使用冒号,然后缩进写循环操作语句,先判断条件是否成立,如果为true,则执行循环操作语句如果为false,则跳出循环。

    例:(在编辑模式中输入代码)

    i=1

    sum=0

    while i<=5:

        print ('请输入第%d门课程的成绩' %i)

        sum=sum+int(input())

        i=i+1

    avg=sum/(i-1)

    print ('5门课的平均成绩是%d' %avg)

    执行结果为:

    >>>

    请输入第1门课程的成绩

    56

    请输入第2门课程的成绩

    60

    请输入第3门课程的成绩

    88

    请输入第4门课程的成绩

    90

    请输入第5门课程的成绩

    100

    5门课的平均成绩是78

    >>>

    2:字符串的格式化输出

    字符串格式化输出是将若干个值插入带有%替代符的字符串中,从而可以动态的输出字符串,

    字符串中的%d,表示插入的是一个整型数据

      %s,表示值为字符串

      %f,表示浮点数字

    3while循环的嵌套使用

    例:

    j=1

    prompt='请输入学生姓名:'

    while j<=2:

        sum=0

        i=1

        name=input(prompt)

        while i<=5:

            print ('请输入第%d门课程的成绩' %i)

            sum=sum+int(input())

            i=i+1

        avg=sum/(i-1)

        print ('%s5门课程的平均成绩是:%d'%(name,avg))

        j=j+1

    print ('学生的成绩输入完成')

    执行结果:(需要输入两个学生信息,外层循环定义学生人数,内存循环定义课程数量)

    >>>

    请输入学生姓名:张三

    请输入第1门课程的成绩

    33

    请输入第2门课程的成绩

    55

    请输入第3门课程的成绩

    66

    请输入第4门课程的成绩

    77

    请输入第5门课程的成绩

    88

    张三的5门课程的平均成绩是:63

    请输入学生姓名:李四

    请输入第1门课程的成绩

    44

    请输入第2门课程的成绩

    55

    请输入第3门课程的成绩

    66

    请输入第4门课程的成绩

    77

    请输入第5门课程的成绩

    88

    李四的5门课程的平均成绩是:66

    学生的成绩输入完成

    >>>

    三:for循环语句

    while是使用条件判断执行循环,而for是使用便利元素方式进行循环。

    1for循环的几种方式

    (1) for循环可以对字符串进行遍历,逐个获得字符串的每个字符

    例:

    for letter in 'Python':

        print ('Current letter:%s'%letter)

    执行结果:

    >>>

    Current letter:P

    Current letter:y

    Current letter:t

    Current letter:h

    Current letter:o

    Current letter:n

    (2) for循环对列表和元组进行遍历

    例:

    fruits=['西瓜','苹果','葡萄']

    for fruit in fruits:

        print (fruit)

           

        输出结果:

               >>>

    西瓜

    苹果

    葡萄

    (3) for循环和range()函数结合使用

    range(0,5,2)   表示从0开始累加2,累加后的值是列表的值,但值不能超过52是累加数

    range(0,5)  表示列表的值从05,没有累加数表示累加1

     

    1

    >>> for i in range(0,5):

    print (i)

     

    0

    1

    2

    3

    4

    >>> for i in range(0,5,2):

    print (i)

    0

    2

    4

     

    2

    >>> for i in range(0,5):

           print ('你好')

    你好

    你好

    你好

    你好

    你好

    (4) for循环的嵌套

    例:输出张三和李四的平均成绩

    students=['张三','李四']

    subjects=('python','mysql','linux')

    for student in students:

        sum=0

        for subject in subjects:

            print ('请输入%s%s考试成绩:'%(student,subject))

            score=int(input())

            sum+=score

        avg=sum/len(subjects)

        print ('%s的平均成绩是%d' %(student,avg))

     

    执行结果:

    >>>

    请输入张三的python考试成绩:

    66

    请输入张三的mysql考试成绩:

    77

    请输入张三的linux考试成绩:

    88

    张三的平均成绩是77

    请输入李四的python考试成绩:

    22

    请输入李四的mysql考试成绩:

    33

    请输入李四的linux考试成绩:

    44

    李四的平均成绩是33

    (5) 乘法口诀

    op1=(1,2,3,4,5,6,7,8,9)

    op2=(1,2,3,4,5,6,7,8,9)

    for i in op1:

        for j in op2:

            print(i,"*",j,"=",i*j,end=' ')

            if j>=i:

                print(end=' ')

                break

    2:循环控制

    当使用whilefor做循环操作时,由可能需要改变循环的正常执行顺序,这时要用循环控制语句来实现,循环控制语句由breakcontinue

    (1) break

    在循环的语句块中使用break语句,可以跳出整个循环。

    1:输出平均成绩,当成绩无效时,使用break退出循环

    students=['张三','李四']

    subjects=('python','mysql','linux')

    for student in students:

        sum=0

        for subject in subjects:

            print ('请输入%s%s考试成绩:'%(student,subject))

            score=int(input())

            if(score<0 or score>100):

                print ('输入的成绩超出范围,循环退出')

                break;

            sum+=score

        avg=sum/len(subjects)

    print ('%s的平均成绩是%d' %(student,avg))

     

    上面案例在执行时,可以输入一个超出成绩范围的数字,以演示循环的退出。

    (2) continue

    continue的作用和break的作用不同,它不是结束整个循环,而是跳过当前一轮循环体的剩余语句,重新测试循环状态,准备进入下一轮循环。

     

    例:

    students=['张三','李四']

    subjects=('python','mysql','linux')

    for student in students:

        sum=0

        i=0

        while (i<len(subjects)):

            print ('请输入%s%s考试成绩:'%(student,subjects[i]))

            score=int(input())

            if (score<0 or score>100):

                print ('输入的成绩超出范围,请重新输入')

                continue;

            sum+=score

            i=i+1

        avg=sum/len(subjects)

        print ('%s的平均成绩是%d' %(student,avg))

     

  • 相关阅读:
    IPv6基础介绍
    SNMP(Simple Network Mnagement Protocol)——简单网络管理协议详解
    GRE(Generic Routing Encapsulation)——通用路由封装协议详解
    NAT(Network Address Translation)网络地址转换详解
    PPPoE(Point to Point Protocol over Ethernet)——以太网上的点对点协议详解
    链路聚合详解——Link Aggregation
    MongoDB快速copy笔记
    MongoDB导入导出和踩过的坑
    Linux离线安装RabbitMQ
    VSCode 开发、运行和调试
  • 原文地址:https://www.cnblogs.com/ccshi/p/13161961.html
Copyright © 2011-2022 走看看