zoukankan      html  css  js  c++  java
  • python基础之流程控制、数字和字符串处理

    流程控制

    条件判断

    if单分支:当一个“条件”成立时执行相应的操作。

    语法结构:

    if 条件:
        command

    流程图:

    示例:如果3大于2,那么输出字符串"very good"

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    if 3 > 2:
        print("very good")

    if双分支:当“条件成立”时候执行一个操作,或者“条件不成立”执行另外一个操作操作。

    语法结构:

    if 条件:
        command1
    else:
        command2

    流程图:

    示例:输入一个数,如果输入的是5,那么输出you are right,输入其他数,输出you are wrong

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    num=input('please input a number:')
    if num == 5:
        print('you are right')
    else:
        print('you are wrong')

    if多分支:相当于if语句嵌套,针对多个条件执行不同操作。

    语法结构:

    if 条件:
        command1
    elif 条件:
        command2
    ...         #可存在多个elif判断
        command...
    else:
        commandn

    流程图:

    示例:输入一个数字,如果在0-9范围内,将该数字转成二进制输出,如果在10到19范围内,将该数字转成8进制输出,在20或者更大,那么转换成16进制输出

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    num=int(input('please input a number:'))  #input输入为str字符串格式用int转化成整数
    if num in range(10):        #range()方法是一个范围,for循环详细说明
        print(bin(num))        #bin()方法,转化为二进制
    elif num in range(10,20):
        print(oct(num))        #oct()方法,转化为八进制
    else:
        print(hex(num))        #hex()方法,转化为十六进制

    循环

    for循环:根据标量的不同取值,重复执行一组命令操作。

    语法结构:

    for 变量 in 集合:
        command

    流程图:

    示例1:依次输出数字0到10

    for i in range(11):
        print(i)

    range(11)表示一个范围,从头到尾依次是0,1,2,3,4,5,6,7,8,9,10,共十一个数字,这个范围顾头不顾尾,即不包括最大的那个数

    示例2:依次输出数字5到10

    for i in range(5,11):
        print(i)

    range(5,11),表示开头为5,结束为11的一个范围,包括5但不包括11

    示例3:0到10数字范围,每隔一个数输出一个数

    for i in range(0,11,2):
        print(i)

    输出结果为:0,2,4,6,8,10,range()方法的第三个数表示步数,也就是间隔的值

    补充:for+else

    else内的指令只在for循环结束后执行,并且该循环没有被break或continue打断

    for i in range(0,11,2):
        print(i)
    else:
        print('ok')
    
    输出结果:
    0
    2
    4
    6
    8
    10
    ok

    条件循环

    while条件循环:重复测试指令的条件,只要条件为真则反复执行对应的命令操作,直到条件为假。如果使用true作为循环条件能够产生无限循环。

    语法结构:

    while 条件 :
        command

    流程图:

    示例:打印0到100的所有的奇数

    i=1
    while i <=100 :
        print(i)
        i = i + 2

    补充:while+else

    表示while在正常循环结束后才能执行else,即循环过程中没有被break和continue打断,完全循环后才能执行else的指令

    示例:

    i=1
    while i <=5 :
        print(i)
        i = i + 2
    else:
        print('ok')
    
    输出结果:
    1
    3
    5
    ok

    数字

    数字类型包括:整型和浮点型(即整数和小数),布尔值,复数

    数字特性:

      1、只能存放一个值,不论这个数字有多长

      2、一经定义,不可更改,因为数字是不可变的(如果不理解,看过后边的数组tuple后就理解了)

      3、通过变量直接访问

    整型

    整型可以用十进制、二进制、八进制和十六进制表示,如十进制的10、二进制的1010、八进制的12和十六进制的a都表示是整数10

    print(10)
    print(bin(10))   #10的十进制转换二进制
    print(oct(10))   #10的十进制转换八进制
    print(hex(10))   #10的十进制转换十六进制,0-9和abcdef
    
    输出为:
    10
    0b1010    #0b表示二进制
    0o12      #0o表示八进制
    0xa      #0x表示16进制

    整型在python2里是有长度限制的,分为整型和长整型,在python3里没有长度限制,所以数字再长都可以叫做整型,当然可以通过长整型方法将整型编程长整型,长整型的数字最后有一个L标识。

    其他常用方法(简略):

    int()  转化为整型

    abs()  求绝对值

    float()  转换层浮点型

    浮点型

    即小数,如1.2,0.3等

    浮点数科学计数法:

    print(1.3e-3)   #1.3的10的-3次方、e3表示10的3次方

    布尔值

    True用1表示

    False用0表示

    字符串

    字符串

    字符串是一个有序的字符的集合,用于存储和表示基本的文件信息

    字符串特性:

      1、只能存放一个值

      2、不可变

      3、按照从左到右的顺序定义字符集和,索引从0开始有序访问

    定义方法:字符串定义,四种引号都是定义字符串

    a='xyz'
    b="xyz"
    c='''xyz'''
    d="""xyz"""

    字符串处理

    移除空白:把字符串的前后指定的字符位置移除,中间的无法移除

    s1='abc             '
    s2='**********abc*******'
    s3='**********a**bc*******'
    print(s1.strip(' '))
    print(s2.strip('*'))
    print(s3.strip('*'))
    输出结果:
    abc
    abc
    a**bc

    分割:指定字符为分隔符,将字符串转换成list

    s1='abc|def|ghi'
    print(s1.split('|'))
    输出结果:
    ['abc', 'def', 'ghi']

    长度:统计字符串长度,包括空格和符号

    s1='abc             '
    s2='**********abc*******'
    s3='**********a**bc*******'
    print(len(s1))
    print(len(s2))
    print(len(s3))
    输出结果:
    16
    20
    22

    索引:表示字符的位置,从0开始计数

    s1='abc             '
    s2='**********abc*******'
    s3='**********a**bc*******'
    print(s1[2])  #0位置为a,1位置为b,2位置为c
    print(s2[11]) print(s3[-8])  #-8位置为从后开始数第8个字符,从后计数的第一个字符位置为-1位置 输出结果: c b c

    切片:根据索引位置匹配需要的字符串片段

    s1='abcdefghi'
    print(s1[2:5])  #2,3,4位置
    print(s1[2:8:2])  #匹配2,4,6位置,第二个2表示步数,每隔一个匹配一个
    print(s1[-5:-3])  #倒序-5,-4位置
    输出结果:
    cde
    ceg
    ef

    其他常用方法:

    首字母大写

    s1='abc def abc'
    print(s1.capitalize())
    输出结果:
    Abc def abc

    统计某个字符的数量,空格也算字符

    s1='abc def abc'
    print(s1.count('a'))
    print(s1.count('a',0,4))     #表示0-4位置,不包括4位置
    输出结果:
    2  #整个字符串有两个a
    1  #0,1,2,3位置有一个a

    检验开头和结尾字符串

    s1='abc def abc'
    print(s1.endswith('c'))
    print(s1.startswith('a'))
    输出结果:
    True
    True

    查找字符串内是否包含该字符

    s1='abc def abc'
    print(s1.find('b'))
    print(s1.find('d'))
    输出结果:
    1    #输出的是匹配的第一个字符的索引位置
    4

    格式化字符串

    msg1='Name:{},age:{},sex:{}'
    print(msg1)
    print(msg1.format('egon',18,'male'))
    msg2='Name:{0},age:{1},sex:{0}'
    print(msg2.format('aaaaaaaaaaaaaaaaa','bbbbbbbbbbbbbb'))
    msg3='Name:{x},age:{y},sex:{z}'
    print(msg3.format(y=18,x='egon',z='male'))
    输出结果:
    Name:{},age:{},sex:{}
    Name:egon,age:18,sex:male
    Name:aaaaaaaaaaaaaaaaa,age:bbbbbbbbbbbbbb,sex:aaaaaaaaaaaaaaaaa
    Name:egon,age:18,sex:male

    索引(查看索引位置)

    s1='abc def abc'
    print(s1.index('a'))  #匹配第一个a的索引位置
    print(s1[s1.index('e')])  #调用用索引位置

    校验字符串是否为纯数字

    s1='123'
    print(s1.isdigit())
    输出结果:
    True

    替换

    msg='hello alex'  #赋值时候实际上是msg=str('hello alex'),replace()方法是str所赋予的,即str.replace()
    print(msg.replace('x','X'))
    print(msg.replace('alex','bob'))
    print(msg.replace('l','A'))
    print(msg.replace('l','A',1))
    print(msg.replace('l','A',2))    #第二个数字为替换的次数
    输出结果:
    hello aleX
    hello bob
    heAAo aAex
    heAlo alex
    heAAo alex

    大写转换

    x='hello'
    print(x.upper())
    输出结果:
    HELLO

    检验是否是全大写

    x='HELLO'
    print(x.isupper())
    输出结果:
    True

    小写转换和检验

    x='HELLO'
    print(x.lower())
    print(x.islower())
    输出结果:
    hello
    False

    校验是不是空格

    x='     '        #空格不等于空
    print(x.isspace())
    输出结果:
    True 

    开头大写

    x='hello'
    print(x.title())
    输出结果:
    Hello

    校验开头是否为大写

    msg='Hello'
    print(msg.istitle())
    输出结果:
    True

    左对齐和右对齐:数字表示对齐后的长度,后边的星号为长度不够用星号补齐

    x='abc'
    print(x.ljust(10,'*'))
    print(x.rjust(10,'*'))
    输出结果:
    abc*******
    *******abc

    大小写交换

    x='Ab'
    print(x.swapcase())
    输出结果:
    aB
  • 相关阅读:
    jquery animate()方法 语法
    jquery unload方法 语法
    jquery undelegate()方法 语法
    jquery unbind()方法 语法
    jquery trigger() 方法 语法
    jquery toggle()方法 语法
    jquery change() 函数 语法
    jquery blur()函数 语法
    jquery bind()方法 语法
    jquery checked选择器 语法
  • 原文地址:https://www.cnblogs.com/lidagen/p/7049161.html
Copyright © 2011-2022 走看看