Python习题-输出⼀个字符串中最长的⼦字符串及其长度描述:有个字符串$sd1#111$svda123221&eSSDSDG,包含特殊字符、数字和字母,输出最长的⼦字符串和他的长度
#例如上⾯的字符串包含数字字母的字符串是svda123,长度是7
需求分析:
1、先把这个字符串⾥⾯的特殊字符替换成⼀个固定的字符串,。 repalce
2、按照这个固定的字符串分割  spilt
3、list,循环这个list,判断list的每个元素是否包含数字和字母
4、判断长度,最长的留下了,打印
5、⽤了俩list,⼀个list存符合条件的字符串,第⼆list存字符串的长度
6、先取到最⼤长度,然后判断最⼤长度的个数,>1,然后再取长度的下标
7、再去字符串的list⾥⾯取值
str= '$sd1#111$svda123221&eSSDSDG^svda121^svda124^'
import string
for s in string.punctuation:  # 所有的特殊字符串
if s in str:
str = place(s, '*')
lis = str.split('*')
print(lis)
res = []  # 存的是符合条件的字符串,也就是包含字母和数字
len_lis = []  # 存的是符合条件的字符串长度
for l in lis:
l = l.strip()
if not l.isdigit() and not l.isalpha() and len(l) > 0:
res.append(l)
len_lis.append(len(l))
max_len = max(len_lis)  # 先到最⼤的长度
max_len_count = unt(max_len)
if max_len_count > 1:
for len in range(len(len_lis)): #⽤下标来取值
if len_lis[len] == max_len:
字符串长度的正确表示print('最长字符串是%s,长度是%s' % (res[len], max_len))
else:
index = len_lis.index(max_len)  # 再到这个长度下标
st = res[index]  # 最长的字符串
print('最长的字符串是%s,他的长度是%s' % (st, max_len))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。