首页 > 其他 > 详细

基础【三】字符串的操作方法

时间:2019-09-07 14:40:15      阅读:86      评论:0      收藏:0      [点我收藏+]
 

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

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

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

1、字符串的操作方法:

 

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

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

正数索引和负数索引可以混用。只要能指到正确的元素即可。

 

 技术分享图片

基础【三】字符串的操作方法

原文:https://www.cnblogs.com/youxiu123/p/10841180.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!