美文网首页
总结-day5

总结-day5

作者: L_4bc8 | 来源:发表于2018-11-10 10:03 被阅读0次

    5. 分之和循环

    5.0. recode

    字符串

    1. '', "", ''' ''', """ """

    str1 = 'abc123\n'
    str2 = '''
    abc,
    abc123,
    123!@#'''
    print(str1, str2, type(str1), type(str2))
    

    输出

    abc123

    abc,
    abc123,
    123!@# <class 'str'> <class 'str'>

    2. 普通字符,转义字符,编码字符(\uFFFF)

    3. 获取字符串中字符

    字符串[下标]
    字符串[开始下标:结束下标;步长]

    4. 字符串相关运算: +, *, 比较, in/not in, len(), str()

    5. 格式字符串

    %s
    %d
    %.nf
    ...

    5.1 分支结构

    python中的分支结构只有if语句,没有switch

    a. 语法

    if 条件语句:
    代码段

    b. 说明:

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

    c. 执行过程

    先判断条件语句的结果是否是True,如果是True,就执行冒号后面的代码段,否者就不执行.

    如果条件语句的结果不是布尔,会先将结果转换成布尔再判断
    例如:

    if 10:
        print('条件语句是10')
    if 'abc':
        print('条件语句是abc')  
    if True:
        print('条件语句是True')
    if 100 > 20:
        print('条件语句是100 > 20')
    

    注意: 赋值语句不能写在if的后面

    if num =10:
        print('赋值语句')   # 报错
    

    例:判断奇偶数

    num = 12
    if num & 1:
        print('%d是偶数' % (num))  # if条件成立则执行和if保持缩进的语句.
    
    print('%d是奇数' % (num))
    

    随机产生一个年龄值,如果年龄大于等于18就打印'成年'.

    import random
    age = random.randint(0, 100)
    print(age)
    if age >= 18:
        print('成年')
    

    5.1.1 if - else

    a. 语法:

    if 条件语句:
    代码段1
    else:
    代码段2

    b. 执行过程

    先判断条件语句是否为True,为True就执行代码段1,否则就执行代码段2

    例:随机产生一个整数如果是奇数打印'XXX是奇数',否则打印'XXX是偶数'

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

    5.1.2 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,就执行代码段,一次类推.如果前面的条件值都为False,就执行else后面的代码段.

    注意:
    1. 判断后面的条件的前提是前面的条件不成立
    2. elif根据情况可以有多个,else也可以省略

    例:根据成绩对成绩进行分段:小于60分打印不及格,60到70及格,71-89良好,90及90以上优秀.

    score = int(input('请输入成绩:'))
    if score < 60:
        print('不及格')
    elif score <= 70:
        print('及格')
    elif score < 90:
        print('良好')
    elif score <= 100:
        print('优秀')
    else:
        print('超出范围')
    

    5.1.3. if嵌套

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

    例:如果一个数字是偶数就打印'偶数',否则打印'奇数',如果偶数还能被4整除,再打印'4的倍数'.

    num = int(input('请输入数字:'))
    if num & 1:
        print('奇数')
        if num % 5 == 0:
            print('是5的倍数')
        else:
            print('不是5的倍数')
    else:
        print('偶数')
        if num % 4 == 0:
            print('是4的倍数')
        else:
            print('不是4的倍数')
    

    例: 输入一个字符串,判断第一个字符是否是字母,如果是,打印"以字母开头",如果这个字母是大写的,再打印'大写字母',例如:'abc123'-> 打印'以字母开头','Abc123' -> 打印'以字母开头'和大写字母.'12as' - >什么都不打印.

    str1 = input('请输入一个字符串:')
    if str1[0].isalpha():
        print('以字母开头')
        if str1[0].isupper():
            print('大写字母')
    

    5.2 for循环

    python中的循环结构有2种:for循环和while循环
    某个操作需要重复执行,就考虑用循环

    5.2.1 for循环

    a. 语法

    for 变量 in 序列:
    循环体

    b. 说明

    for - 关键字
    变量 - 变量名
    in - 关键字
    序列 - 可以是字符串,列表,元组,字典,集合,迭代器,range
    循环体 - 和for保持一个缩进的一条或者多条语句(需要重复执行的代码)

    c. 执行过程:

    让变量取序列中取值,依照索引一个一个的取,取完为止;每取一个值,依次执行循环体(for循环中,序列中值的个数,决定类循环的次数)
    例如:

    str1 = input('请输入一个字符串:')
    for val in str1:
        print(val, '===')
    

    注意:
    如果for后面的变量渠道的值,在循环体里面不使用,可以使用下划线(_)来代替

    5.2.2 range()

    range(n) - 产生一数字序列,序列中的内容是0 ~ n-1
    range(m,n) - 产生一数字序列,序列中的内容是m ~ n-1
    range(m,n,step) - 产生一数字序列,从m开始,每次加step,直到n前为止.
    range()一般用在:
    a. 需要产生指定范围的数字序列
    b. 单纯的控制for循环的循环次数

    例:计算1+2+3+...+100.

    sum1 = 0
    for value in range(1, 101):
        sum1 += value
    print(sum1)
    

    例:计算 2+4+5+8+...+100

    sum1 = 0
    for value in range(2, 102,2):
        sum1 += value
    print(sum1)
    
    sum2 = 0
    for value in range(101):
        if not value & 1:
            sum2 += value
    print(sum2)
    

    写程序统计一个字符串中数字字符的个数.

    str1 = input('请输入一个字符串:')
    sum1 = 0
    for char in str1:   # 将字符串中的每个字符取出来
        if char.isdigit():  # if '0' <= char <= '9'
            sum1 += 1
    print(sum1)
    

    5.3. while 循环

    5.3.1

    a. 语法

    while 条件语句:
    循环体

    b. 说明

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

    c. 执行过程

    先判断条件语句是否为True,为True就执行循环体;
    执行完循环体再判断条件语句是否为True,为True就又执行循环体;
    执行完循环体再判断条件语句是否为True,为True就又执行循环体;
    依次类推..... 直到判断条件语句为False,整个循环结束.

    获取 1,2,3....100

    num = 1
    while num <= 100:
        print(num)
        num += 1
    

    使用获取字符串 'abcd'

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

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

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

    使用for循环:

    1. 获取序列中的元素(值)
    2. 循环次数确定

    while循环:
    1.死循环
    2.循环次数不确定

    例:程序可以不断的进行输入,直到输入的值为0.

    str1 = input('请输入:')
    while str1 != '0' :
        str1 = input('请输入:')
    print('结束')
    

    5.4. 循环中的关键字

    continue, else, break

    5.4.1. continue

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

    sum1 = 0
    for x in range(100):
        if not x & 1:
            continue
        sum1 += x
    print(sum1)
    

    5.4.2 break

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

    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
    
    
    

    5.4.3 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/dvqzxqtx.html