• python第二天


    判断语句与循环控制

    一、判断语句

    1.if-else语句

    典型双分支语句

     格式

    #单分支
    if 条件表达式:
        代码指令
        pass  #空语句
    print('语句结束')
    #双分支
    if 条件表达式:
        代码指令
        pass  #空语句
    else:
        代码指令
        pass
    print('语句结束')

    多分支语句

    特征:

    只要满足其中一个分支,就会自动退出本层的if语句结构(言外之意:必须执行其中一个分支)

    至少有两个情况可以选择;

    elif后面必须写上条件和语句(冒号)

    else是选配,根据实际情况来填写(冒号)

    举例:成绩等级分析

     score=int(input('请输入成绩:'))
     if score<60:
         print('该成绩等级为E')
         pass
     elif score<70:
         print('该成绩等级为D')
         pass
     elif score<80:
         print('该成绩等级为C')
         pass
     elif score<90:
         print('该成绩等级为B')
         pass
     else:
         print('该成绩等级为A')
         pass

    比较数字

    import random
    comp=random.randint(0,100)
    peo=int(input('请输入数字(0~100)'))
    print('电脑数字为%d'%comp)
    if comp>peo:
        print('你输了')
        pass
    elif comp==peo:
        print('平了')
        pass
    else:
        print('你赢了')
        pass

    if-else嵌套使用(多条件限制)

    外层的if判断,也可以是if-else

    内层的if判断,也可以是if-else

    根据实际开发的情况进行选择

    if 条件1:
        if 条件2:
            print('满足条件1和条件2')
            pass
        else:
            print('满足条件1,不满足条件2')
            pass
        pass
    elif 条件3:
        if 条件4:
            print('满足条件3和条件4')

    二、循环语句

    1.while(适用于未知的循环次数,用于判断

    循环结构

     语法特点

    有初始值

    通过条件表达式判断循环

    必须有变量(循环体内计数变量)的自增或自减,否则会造成死循环

    使用条件:循环的次数不确定,依靠循环条件来结束

    目的:为了将相似或相同的代码变得更加简洁,重复使用

    举例:

    #输出1-100
    i=1
    while i<=100:
        print(i)
        i+=1
        pass
    #比数字可循环版
    import random
    a=1  #a用来充当flag,判断用户是否继续
    while a==1:
        comp=random.randint(0,100)
        peo=int(input('请输入数字(0~100)'))
        print('电脑数字为%d' % comp)
        if comp > peo:
            print('你输了')
            pass
        elif comp==peo:
            print('平了')
            pass
        else:
            print('你赢了')
            pass
        stri=input('是否继续?(Yes or N)')
        if stri=='Yes':
            pass
        else:
            a=0
            pass
        pass

    while嵌套使用

     举例:

    #三角形九九乘法表
    i=9
    j=1
    while i>=1:
        j=1
        while j<=i:
            print('%d*%d=%d'%(j,i,i*j),end=' ')
            j+=1
            pass
        i-=1
        print()
        pass
    #等腰三角形
    a=int(input('请输入三角形的高:'))
    i=a
    while i>=0:
        j=i
        while j>0:
            print(end='  ')
            j-=1
            pass
        k=2*(a-i+1)-1
        cou=1
        while cou<=k:
            print('*',end=' ')
            cou+=1
            pass
        i-=1
        print()
        pass

    2.for循环:适用于已知的循环次数(可迭代对象的遍历)

    在Python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。

    语法特点:遍历操作,一次的取容器中的每个值。

    格式:

     举例:

    s1='萨顶顶反而会饥饿'
    for i in s1:
        print(i)
        pass
    
    for num in range(1,11,1): #range(起点,终点(不包括),步长)
        print(num,end=' ')
        pass
    #for循环九九乘法表
    for i in range(1,9):
        for j in range(1,i+1):
            print('%d*%d=%d'%(j,i,j*i),end=" ")
            pass
        print()
        pass

    3.break和continue

    break 代表中断结束,只要满足条件,直接结束本层循环

    continue 结束本次循环,继续进行下次循环(当continue满足条件的饿时候,本次循环剩下的语句将不在执行,后面的循环还继续。)

    这两个关键字,只能用在循环中

    举例:

    4.for-else的使用(while-else同理)

    for i in range(1,9):
        print(i)
        if i==5:
            break
            pass
        pass
    else:
        print('循环完全遍历,中途没有break才会输出这句话')  #登录系统可以使用
        pass
    account='sheldon'
    psw='123'
    for i in range(1,4):
        print(i,end=' ')
        zh=input('请输入账号:')
        pd=input('请输入密码:')
        if account==zh and psw==pd:
            print('恭喜登录成功!')
            break
            pass
        pass
    else:
        print('超过登录次数{},3分钟后重试!'.format(i))

    本日练习

    一、猜年龄小游戏,有三点需求

    1.允许用户最多尝试3次

    2.每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序

    3.如何猜对了,就直接退出

    import random
    cou=3
    flag=1
    while flag==1:
        agec = random.randint(1, 100)
        cou=3
        while cou>=0:
            age=int(input('请输入年龄:'))
            if age==agec:
                print('恭喜您猜对了')
                s=input('是否继续?y or n')
                if s=='y':
                    pass
                else:
                    flag=0
                    pass
                break
                pass
            else:
                print('猜错了%d,请继续:'%agec)
                cou-=1
                pass
            pass
        else:
            print('次数已经用完')
            s2=input('是否继续?y or n')
            if s == 'y':
                pass
            else:
                flag = 0
                break
                pass
            pass

    二、小王身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小王计算他的BMI指数,并根据BMI指数:
    低于18.5 过轻
    18.5-25: 正常
    25-28: 过重
    28-32: 肥胖
    高于32: 严重肥胖
    用if-elif判断并打印结果

    high=float(input('请输入身高(单位/m):'))
    weight=float(input('请输入体重(单位/kg):'))
    ans=float(weight/high**2)
    print('你的BMI指数为:%f'%ans)
    if ans<18.5:
        print('您的体质过轻')
        pass
    elif ans<25:
        print('您的体质正常')
        pass
    elif ans<28:
        print('您的体质过重')
        pass
    elif ans<32:
        print('您的体质肥胖')
        pass
    else:
        print('您的体质严重肥胖')
        pass
  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/giaogiaogiao/p/14459673.html
Copyright © 2020-2023  润新知