美文网首页
day5总结

day5总结

作者: 9527神经 | 来源:发表于2018-11-09 20:32 被阅读0次

    分支结构

    1.if 语句:
    a.语法:
    if 条件语句:
    代码段

    b.说明:
    if - 关键字
    条件语句 - 任何有结果的表达式(不管结果是什么类型)
    : - 固定
    代码段 - 和if保持一个缩进的一条或者多条语句。

    c.执行过程:
    先判断条件语句的结果是否是True,如果是True就执行冒号后面的代码段。否则就不执行代码段
    注意:如果条件语句的结果不是布尔,会先将结果转换成布尔再判断

    if后面可以写哪些语句:
    if 10:
        print('条件是语句是10')
    
    if 'abc':
        print('条件是语句是abc')
    
    if True:
        print('条件是语句是True')
    
    if 100 > 20:
        print('条件是语句是100 > 20')
    
    if 'AHSG'.isupper():
        print('全是大写!')
    

    2.if-else
    if 条按语句:
    代码段1
    else:
    代码段2

    b.执行过程:
    先判断条件语句是否为True,为True就执行代码段1;否则执行代码段2
    随机产生一个整数,如果是奇数打印'XXX是奇数',否则打印'XXX是偶数'

    num = random.randint(0, 20)
    if num & 1 == 1:
        print('%d是奇数' % num)
    else:
        print('%d是偶数' % num)
        print('!!!!!!!')
    

    3.if - elif - else
    a.语法:
    if 条件语句1:
    代码段1
    elif 条件语句2:
    代码段2
    elif 条件语句3:
    代码段3
    ...
    else:
    代码段n

    b.执行过程:
    先判断条件语句1是否为True,为True就执行代码段1;
    否则,就判断条件语句2是否为True,为True,就执行代码段2
    否则,就判断条件语句3是否为True,为True,就执行代码段3
    依次类推,如果前面的条件都为False,就执行else后面的代码段n

    注意:1.后面的条件判断前提是前面的条件不成立
    2.这儿的elif根据情况可以有多个,else也可以省略
    根据成绩对成绩进行分段: 小于60分打印不及格,60-70及格,71-89良好,90及90以上优秀

    score = 60
    if score < 60:
        print('不及格')
    elif score <= 70:
        print('及格')
    elif score < 90:
        print('良好')
    elif score <= 100:
        print('优秀')
    else:
        print('超出范围')
    

    4.4.if嵌套:可以在if,elif,else后面的代码段中,都可以再写其他的if语句

    if 'a'<=str1[0]<='z' or 'A'<=str1[0]<='Z':
        print('以字母开头')
        if 'A'<=str1[0]<='Z':
            print('大写字母')
    
    

    02.1:.for循环
    a.语法:
    for 变量 in 序列:
    循环体

    b.说明:
    for - 关键字
    变量 - 变量名,随便命名(满足变量名的要求)
    in - 关键字
    序列 - 可以是字符串、列表、元祖、字典、集合、迭代器、range
    循环体 - 和for保持一个缩进的一条或者多条语句(需要重复执行的代码)

    c.执行过程:
    让变量去序列中取值,一个一个的取,取完为止;每取一个值,执行依次循环体
    (for循环中,序列中值的个数,决定了循环的次数; 序列中的内容,控制每次变量取到的值)

    d.注意:
    如果for后面的变量取到的值,在循环体里面不使用,那么这个变量命名的时候,用一个_来命名
    x = a print('=====')
    x = b print('=====')
    x = c print('=====')

    for x in '1234':
        print(x)
        print('=====')
    

    2.range
    range(n) - 产生一数字序列,序列中的内容是0 ~ n-1 (结果是序列)
    range(m,n) - 产生一数字序列,序列中的内容是m ~ n-1
    range(m,n,step) - 产生一数字序列, 从m开始,每次加step,直到n前为止

    range一般用在:a.需要产生指定范围的数字序列
    b.单纯的控制for循环的循环次数

    for num in range(10):
        print(num)
    
    print('~~~~~~~~~~')
    for num in range(10, 21):
        print(num)
    
    print('~~~~~~~~~~')
    for num in range(0, 10, 2):
        print(num)
    

    03.1.while循环
    a.语法:
    while 条件语句:
    循环体

    b.说明:
    while - 关键字
    条件语句 - 有结果的表达式(除了赋值语句,一般的表达式都行)
    : - 固定写法
    循环体 - 和while保持一个缩进的一条或者多条语句(会被重复执行)

    (重点!)c.执行过程:
    先判断条件语句是否为True,为True就执行循环体;
    执行完循环体再判断条件语句是否为True, 为True又执行循环体;
    执行完循环体再判断条件语句是否为True, 为True又执行循环体;
    ...
    以此类推,知道判断条件语句的结果为False,整个循环就结果

     1,2,3,4,...100
    num = 1
    while num <= 100:
        print(num)
        num += 1
    print('==:',num)
    
    

    练习:使用while循环,获取字符串:'abc123'中的每个字符

    str1 = 'abc123'
    index = 0
    while index < len(str1):
        print(str1[index])
        index += 1
    

    2.for循环和while循环的选择

    python中,for循环能做到的while循环都能做到;但是while循环能做的,for循环不一定能做到

    使用for循环:
    a. 获取序列中的元素(值)
    b. 循环次数确定

    while循环:
    a. 死循环
    b. 循环次数不确定

    练习:程序可以不断的进行输入,知道输入的值为0为止

    请输入: 12
    请输入: a
    请输入: 
    
    value = input('请输入:')
    while value != '0':
        value = input('请输入:')
    
    print('结束!')
    

    continue:continue是一个关键字,只能写在循环体中

    功能:当循环执行过程中遇到continue,会结束当次循环,直接进入下次循环的判断。
    (直接进入下次循环的判断:for循环就是用变量取下一个值;while循环就是直接判断条件语句是否为True)

    sum1 = 0
    for x in range(100):
        if x % 2 == 0:
            continue
        sum1 += x
    
    print(sum1)
    # 结果: 求1+3+5+...+99
    

    break:
    break是一个关键字,只能写在循环体中

    功能:当循环过程中遇到可break,整个循环直接结束m

    num = 1
    sum1 = 0
    while True:
        if sum1+num >= 10:
            break
        sum1 += num
        num += 1
    print(sum1)
    
    
    for x in range(1000):
        print(x)
        break
    
    

    else:
    a.语法:
    while 条件语句:
    循环
    else:
    代码段

    for 变量 in 序列:
    循环体
    else:
    代码段

    b.执行过程:
    else结构不会影响原循环的执行过程。当循环自然死亡的时候,就会执行else后边的代码段。
    循环因为遇到break而结束的时候不会执行else后边的代码段

    for x in range(10):
        print(x)
        if x == 3:
            break
    else:
        print('for循环结束了')
    

    相关文章

      网友评论

          本文标题:day5总结

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