python入门6字符串

(1)字符串的定义:
以单引号或双引号括起来的任意文本

(2)字符串的创建:
str = "bye bye beautiful "

(3)字符串的运算:
①字符串连接 str3= str1 + str2
②输出重复字符 str2=str1*3
③访问字符串中的某一个字符 str1[ index]
④截取字符串中的部分字符 str[x:y] — 下标起始为0
str[:y] —0到y位置
str[x:] —x到末尾位置
⑤ —字符串不可变— 变量可以重新引用
例:str[1]=“a” 报错

(4)字符串函数:
①eval(str)将字符串str当成 有效的表达式 来求值并返回计算结果

                          例:print(eval(“1+2”))

②len(str) 返回字符串的长度(字符个数)

③str. lower() 将字符串中大写字母转换为小写字母
str. upper() 将字符串中小写字母转换为大写字母
str. swapcase() 字符串中大小写字母转换
str.capitallize() 首字母大写,其他小写
str.title() 每个单词的首字母大写
(以上都是重新生成一个字符串)

④str. center(width[,fillchar]) 返回一个指定宽度的居中字符串,fillchar为两侧填充的字符,默认为空格填充
str. ljust(width[,fillchar]) 返回相对应的左对齐字符串
str.rjust(width[,fillchar]) 返回相对应的右对齐字符串

⑤str. count(‘sub’,[start],[end]) 统计该字符串中sub字符串出现的次数,默认从头到尾

⑥str. find(‘str’,[start],[end]) 从左向右检测str字符串是否包含在字符串中,得到第一次出现的开始下标,没有返回-1
str. rfind 从右向左查找
str. index(‘str’,[start],[end]) 功能类似,不存在时返回异常
str. rindex 从右向左查找

⑦ str.lstrip(‘sub’) 截掉字符串 左侧 指定的字符,默认为空格
str.rstrip() 截掉字符串 右侧 指定的字符 ~
str.strip() 截掉字符串 左右侧 指定的字符 ~
(要永久删除这个字符串的空白或者字符,必须将删除操作的结果存回到变量中)

(5)ASCII 值
①常用: a->97 A->65 '0->48
②转换方法:ord() 字符->ASCII
chr() ASCII ->字符
③比较字符串大小:从第一个字符开始比较,谁的ASCII值大谁就大

(6)进阶
① str.split(str=" ",num)
以str为分隔符截取字符串,指定num则截取num个字符串,剩下的放在一起

               求单词个数:list = str.split(" ")
                         len(list)

②str.splitlines( [keepends] ) 按照(‘\r’,’\r\n’,’\n’),返回
keepends默认为false,为真时,保留\n

③chr.join(seq) 以指定的字符串chr为分隔符,将seq中的元素组合成字符串

④str.replace(oldstr,newstr,count)
用newstr替换成oldstr,默认是全部替换。如果指定了count,那么只替换前count个

⑤str1=str.maketrans("ac ","65 ") 创建一个字符串映射表 a-6 c-5
str.translate(str1)


例:①打印字符串中的每个字符

str = "bye bye beautiful"
index = 0
while index < len(str):
    print("str[%d]=%s"%(index,str[index]))
    index += 1

②计算字符串中出现的数字和

str = input ("请输入字符串:")
sum = 0
index = 0
while index < len(str):
    if str[index] <= '9' and str[index] >= '0':
        sum += int(str[index])
    index += 1
print("字符串中数字和为",sum)

③输出给定时间的下一秒

timeStr = input()
#12:23:23
timeList = timeStr.split(":")
h = int(timeList[0])
m = int(timeList[1])
s = int(timeList[2])
s += 1
if s == 60:
    m += 1
    s = 0
    if m == 60:
        h += 1
        m = 0
        if h == 24:
            h = 0
print("%.2d:%.2d:%.2d" % (h, m, s))

④歌词解析

歌词解析
#[03:3.50][04:3.20][05:1.20]  只是因为在人群中多看了你一眼

#存储数据 时间-歌词
lrcDict={}
musicLrcList = musicLrc.splitlines()
for lrcLine in musicLrcList:
    lrcLineList = LrcLine.split("]")
    for index in range(len(lrcLineList)-1):
        timeStr = lrcLineList[index][1:]
        timeList = timeStr.split(":")
        timee = float(timeList[0]*60+float(timeList[1]))
        lrcDict[timee] = lrcLineList[-1]
        
#获取时间对应的歌词       
getTime = float(input("请输入一个时间"))
allTimeList=[]
for t in lrcDict:
    allTimeList.append(t)
allTimeList.sort()
for n in range(len(allTimeList)):
    tempTime = allTimeList[n]
    if getTime < tempTime:
        break
if n==0:
    print("未开始")
else:
    print(lrcDict[allTimeList[n-1]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值