zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Bash简单介绍
    三大框架常遇的错误:hibernate : object references an unsaved transient instance
    第二十八篇: 学习笔记
    oracle表空间查询维护命令大全之二(undo表空间)
    JSON 数据的系统解析
    MySQL字符串函数
    HDU ACM 1025 Constructing Roads In JGShining&#39;s Kingdom-&gt;二分求解LIS+O(NlogN)
    实时竞价RTB广告平台_传漾科技_中国领先的智能数字营销引擎
    秒聘网-产品经理招聘,免费、专注、极速
    “小鸟推送”从DSP做到营销效果最大化,挂牌新三板后正在寻求B轮定增
  • 原文地址:https://www.cnblogs.com/giaogiaogiao/p/14459673.html
Copyright © 2011-2022 走看看