zoukankan      html  css  js  c++  java
  • 字符串的操作方法

    一、整型(int)、布尔值(bool)、字符串(str)

    int----->str----->bool三者之间的转换

    二、字符串的常规操作及内置方法

    1、字符串的操作方法:

    s = 'python全栈脱产班20期'
    # 用索引取值
    print(s[-5])
    print(s[10])
    # 切片 0可以省略不写
    print(s[0:10])
    print(s[:10])
    print(s[:])
    print(s[:10:2]) # 加步长每隔2个取一个值
    # 反向取值必须加步长, 最后一位的索引值为-1,
    print(s[-1:-8])
    print(s[-1:-8:-2])

    2、字符串的内置方法

    大前提:对字符串的任何操作都是产生一个新的字符串,与原字符串没有关系

    s = 'Wusirs22'
    t1 = s.count('a') # 在字符串中查找指定字符有多少个
    t2 = s.upper() # 将字符串中的字符全部大写
    t3 = s.lower() # 将字符串中的字符全部小写
    t4 = s.title() # 非字母隔开的每个单词的首字母大写
    t5 = s.find('a') # 通过元素获取其索引,找到第一个就返回,找不到会返回-1。
    t6 = s.index('a') # 通过元素获取其索引,找到第一个就返回,找不到会报错。
    t7 = s.capitalize() # 将字符串中的首字母大写
    t8 = s.replace('a','nb',2) # 替换,由什么替换成什么,替换几次
    t9 = s.startswith('w') # 判断以什么为开头 可以切片
    t10 = s.startswith('i',3,) # 判断以什么为开头 可以切片,取索引3后面的所有字符
    t11 = s.endswith('i',3) # 判断以什么结尾,可以切片,取索引3后面的所有字符
    t12 = s.swapcase() # 大小写反转
    t13 = s.isupper() # 判断字符串中所有字母是否为大写,返回布尔值
    t14 = s.islower() # 判断字符串中所有字母是否为小写,返回布尔值
    t15 = s.isdigit() # 字符串只由数字组成
    t16 = s.isalpha() # 字符串只由字母组成
    t17 = s.isalnum() # 字符串由字母或数字组成
    ---------------------------------------------------------------
    t18 = s.strip('W') # 默认去除字符串两边的空格,换行符,制表符,只是去除左边-->lstrip()去除右边-->rstrip(),可设置去除的字符
    t19 = s.split() # 默认按照空格分割,
    t20 = s.split('r') # 指定字符进行分割,
    t21 = s.split('s',2) # 指定字符进行分割,且指定分割次数
    ---------------------------------------------------------------
    join 连接符
    l1 = ['wusir', 'alex', 'taibai'] # 操作列表时,列表里面的内容必须全部是字符串类型
    t22 = ''.join(l1) # 默认连接
    t23 = '-'.join(l1) # 指定字符连接
    ---------------------------------------------------------------
    字符串的格式化输出
    第一种情况
    m = '姓名:{} 年龄:{} 性别:{}'
    w = m.format('烟雨江南',20,'')
    print(w)
    第二种情况
    m = '姓名:{0} 年龄:{1} 性别:{2} 我永远{1}岁'
    w = m.format('烟雨江南',18,'')
    print(w)
    第三种情况
    m = '姓名:{name} 年龄:{age} 性别:{sex} 我永远{age}岁'
    w = m.format(name = '烟雨江南',age = 18,sex = '')
    print(w)

    作业:

    1、分别⽤while,for循环输出字符串s = input("你想输⼊的内容")的每⼀个字符。

    2、实现⼀个整数加法计算器(两个数相加): 如:content = input("请输⼊内容:") ⽤户输⼊:5+9或5+ 9或5 + 9,然后进⾏分 割再进⾏计算;

    3、计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。 如:content = input("请输⼊内容:")   # 如fhdal234slfh98769fjdla

    4、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?

    5、输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字, 其它字符 共出现了多少次,并输出出来

    6、使⽤for循环对s="abcdefg"进⾏循环,每次打印的内容是每个字符加上sb, 例如: asb, bsb,csb,...gsb

    第一题:
    s = input('你想要输入的内容')
    for i in s:
        print(i)
    
    count = 0
    while count < len(s):
        print(s[count])
        count += 1
    第二题:
    content = input("请输⼊内容:").split('+')
    s = 0
    for i in content:
        s = s+ int(i)
    print(s)
    第三题:
    content = input("请输⼊内容:").strip()   # 如fhdal234slfh98769fjdla
    count = 0
    for i in content:
        if i.isdigit():
            count += 1
    print(count)
    第四题:
    count = 1
    sum = 0
    while count < 100:
        if count == 88:
            count += 1
            continue
        if count % 2 == 0:
            sum = sum - count
        else:
            sum = sum + count
        count = count + 1
    print(sum)
    第五题:
    s = input("请输入一句话")
    upper_num = 0
    lower_num = 0
    num = 0
    other = 0
    for a in s:
        if a.isupper():
            upper_num += 1
        elif a.islower():
            lower_num += 1
        elif a.isdigit():
            num += 1
        else:
            other += 1
    print("大写字母有%s个,小写字母有%s个,数字有%s个,其他有%s个" % (upper_num,lower_num,num,other))
    第六题:
    s="abcdefg"
    for i in s:
        print(i+'sb')
    View Code
  • 相关阅读:
    hdu 1024 Max Sum Plus Plus DP
    九月回顾 这篇文章和ACM毫无关系= =
    HDU 3974 Assign the task 并查集/图论/线段树
    poj 3264 Balanced Lineup RMQ问题
    zoj 1610 Count the Colors 线段树区间更新/暴力
    poj 3468 A Simple Problem with Integers 线段树区间加,区间查询和
    hdu 4027 Can you answer these queries? 线段树区间开根号,区间求和
    hdu 5195 DZY Loves Topological Sorting 线段树+拓扑排序
    codeforces 19D D. Points 树套树
    codeforces 85D D. Sum of Medians Vector的妙用
  • 原文地址:https://www.cnblogs.com/NumerOne/p/11451759.html
Copyright © 2011-2022 走看看