字符串操作

字符串操#字符串操作

   name = "aleX leNb"

print(name.capitalize())  #Alex lenb   第一个单词首字母大写,其他都小写
print(name.upper()) #ALEX LENB 全部大写
print(name.lower()) #alex lenb 全部小写
print(name.swapcase()) #ALEx LEnB 大小写反转
print(name.title()) #Alex Lenb每个单词首字母大写,其他都小写
print(name.center(20,'~')) # ~~~~~aleX leNb~~~~~~
print(len(name)) # 9
print(name.startswith("al")) #True
print(name.startswith("e",2)) #True
print(name.startswith("eX",2,4)) #True 遵循顾头不顾尾原则
print(name.endswith("al")) #Flase

print(name.find("e")) #通过元素,找索引值,找不到返回-1
print(name.index("e")) #通过元素,找索引值,找不到,会报错

str=" *alexWusir%deng*den "
str1=str.lstrip() #*alexWusir%deng*den 删除左边空格
str2=str.rstrip() # *alexWusir%deng*den 删除右边空格
str3=str.strip("*") # *alexWusir%deng*den 依次删除左右两边以*开始的*
str4=str.strip(" *")#alexWusir%deng*den 依次删除左右两边以空格或以*为开头的*或空格
str5=str.strip("%") # *alexWusir%deng*den 依次删除左右以%为开头的%

s="*%*alexWusir%deng*den*"
s1=s.strip("*") #%*alexWusir%deng*den
s2=s.strip("%*") #alexWusir%deng*den
s3=s.strip("*%") #alexWusir%deng*den

s4=s.count("*") #4 统计*在字符串中出现的次数

分割 slipt 以某元素分割,被分割后的元素组成一个列表 ,该元素消失
s5=s.split("*") #['', '%', 'alexWusir%deng', 'den', ''] 一分为二,得到列表
s6=s.split("e") #['*%*al', 'xWusir%d', 'ng*d', 'n*']

判断:
str.isalnum() 判断字符串由字母或数字组成
str.isalpha() 字符串只由字母组成
str.isdigt() 字符串只由字母组成
# # 1,有变量name = "aleX leNb" 完成如下操作:
# # 1)移除 name 变量对应的值两边的空格,并输出处理结果
# name = "aleX leNb"
# print(name.strip())       #aleX leNb
# # 2)移除name变量左边的’al’并输出处理结果
# print(name.lstrip("al"))  #eX leNb
# # 3)移除name变量右面的’Nb’,并输出处理结果
# print(name.rstrip("Nb"))  #aleX le
# # 4)移除name变量开头的a’与最后的’b’,并输出处理结果
# print(name.strip("ab"))   #leX leN
# # 5)判断 name 变量是否以 "al" 开头,并输出结果
# print(name.startswith("al")) #True
# # 6)判断name变量是否以”Nb”结尾,并输出结果
# print(name.endswith("Nb"))   #True
# # 7)将 name 变量对应的值中的 所有的“l” 替换为 “p”,并输出结果
# print(name.replace("l","p"))  #apeX peNb
# # 8)将name变量对应的值中的第一个’l’替换成’p’,并输出结果
# print(name.replace("l","p",1)) #apeX leNb
# # 9)将 name 变量对应的值根据 所有的“l” 分割,并输出结果。
# print(name.split("l")) #['a', 'eX ', 'eNb']
# # 10)将name变量对应的值根据第一个’l’分割,并输出结果。
# print(name.split("l",1)) #['a', 'eX leNb']
# # 11)将 name 变量对应的值变大写,并输出结果
# print(name.upper()) #ALEX LENB
# # 12)将 name 变量对应的值变小写,并输出结果
# print(name.lower())#alex lenb
# # 13)将name变量对应的值首字母’a’大写,并输出结果
# print(name.capitalize())  #Alex lenb
# # 14)判断name变量对应的值字母’l’出现几次,并输出结果
# print(name.count("l"))#2
# # 15)如果判断name变量对应的值前四位’l’出现几次,并输出结果
# print(name[:4].count("l"))  #1
# # 16)从name变量对应的值中找到’N’对应的索引(如果找不到则报错),并输出结果
# print(name.index("N"))  #7
# # 17)从name变量对应的值中找到’N’对应的索引(如果找不到则返回-1)输出结果
# print(name.find("N"))   #7
# # 18)从name变量对应的值中找到’X le’对应的索引,并输出结果
# print(name.find('X le')) #3
# # 19)请输出 name 变量对应的值的第 2 个字符?
# print(name[1])  #l
# # 20)请输出 name 变量对应的值的前 3 个字符?
# print(name[:3]) #ale
# # 21)请输出 name 变量对应的值的后 2 个字符?
# print(name[-2:]) #Nb
# # 22)请输出 name 变量对应的值中 “e” 所在索引位置?
# print(name.index("e"))#2
# # 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
# name2="oldboy"
# print(name2.split("y"))   #['oldbo', '']
#
#
# # 2,有字符串s = ‘132a4b5c’
# s = '132a4b5c'
# # 1)通过对li列表的切片形成新的字符串s1,s1 = ‘123’
# print(s[:1]+s[2:0:-1])
# # 2)通过对li列表的切片形成新的字符串s2,s2 = ‘a4b’
# print(s[3:6])
# # 3)通过对li列表的切片形成新的字符串s3,s3 = ‘1245’
# print(s[::2])
# # 4)通过对li列表的切片形成字符串s4,s4 = ‘3ab’
# print(s[1:7:2])
# # 5)通过对li列表的切片形成字符串s5,s5 = ‘c’
# print(s[-1])
# # 6)通过对li列表的切片形成字符串s6,s6 = ‘ba3’
# print(s[-3:-8:-2])
# # 3,使用while和for循环分别打印字符串s=’asdfer’中每个元素。
# # n="  asdfer"
# # j=0
# # while j<len(n):
# #     print(n[j])
# #     j+=1
#
# # for i in n:
# #     print(i)
# # 4,实现一个整数加法计算器:
# # 如:content = input(‘请输入内容:’)  # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
# content=input("请输入内容:")
# list=content.split("+")
# sum=0
# for i in list:
#     n=int(i.strip())
#     sum=sum+n
# print(sum)
#


# 5,计算用户输入的内容中有几个整数。
msg=input("请输入内容:")
n=0
# for i in msg:
#     # print(i)
#     if i.isdigit():
#         n+=1
# print(n)
for i in range(1,len(msg)):

    if msg[i-1].isdigit():
        n=n+1
        if msg[i].isdigit():
            n=n-1

if msg[0].isdigit() and msg[1].isdigit():
    if msg[len(msg)-1].isdigit():
        print(n+1)
    else:
        print(n)
else:
    print(n+1)

 



格式化输出

方法一:
%s 字符串 %d 数字 %为占位符
# 方法一
name=input("请输入你的名字:")
age=int(input("请输入你的年龄:"))
job=input("请输入你的工作:")
msg = "我叫%s,今年%d,我的工作是%s"%(name,age,job)
print(msg)

方法二:format

# # 方法一
name=input("请输入你的名字:")
age=int(input("请输入你的年龄:"))
job=input("请输入你的工作:")
# msg = "我叫%s,今年%d,我的工作是%s"%(name,age,job)
# print(msg)


# 方法二:format
# msg = "我叫%s,今年%s,我的工作是%s"
# format方法1:
msg1 = "我叫{},今年{},我的工作是{}"
print(msg1.format(name,age,job))

# format方法2:
msg2="我叫{0},今年{1},我的工作是{2},我在说一下我的名字,我叫{0}".format(name,age,job)
print(msg2)

# format方法3:
msg3="我叫{name},今年{age},我的工作是{job},我在说一下我的名字,我叫{name}"
print(msg3.format(age=age,name=name,job=job))

 



 
posted @ 2018-09-19 18:15  冰底熊  阅读(178)  评论(0编辑  收藏  举报