zoukankan      html  css  js  c++  java
  • Python开发基础 day2 流程控制、数字和字符串处理

    流程控制

    条件判断

    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()方法的第三个数表示步数,也就是间隔的值

    条件循环

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

    语法结构:

    while 条件 :
        command

    流程图:

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

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

    数字

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

    数字特性:

      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
  • 相关阅读:
    Fabric简介
    推荐一个在线Markdown编写网站,可转化PDF,DOC格式
    7-独立事件和互不相容(概率论与数理统计学习笔记)
    6- 全概率公式/贝叶斯公式(概率论与数理统计学习笔记)
    5-条件概率/乘法公式(概率论与数理统计学习笔记)
    4-几何概型/频率/公理化(概率论与数理统计学习笔记)
    3-古典概率与排列组合(概率论与数理统计学习笔记)
    PLS-00306: 调用 'SYNCRN' 时参数个数或类型错误
    C# MongoDB 查询,分组,聚合,排序,条件,分页
    MVC + Vue.js 初体验(实现表单操作)
  • 原文地址:https://www.cnblogs.com/bsxq/p/6984568.html
Copyright © 2011-2022 走看看