python3对一个字符串中长度大于某个值的串倒序,小于某个值不变,最终输出

a="ecnetnes a si ecnetnes sihT"
lenth=len(a)
print(len(a))
b=[]
c=[]
for i in range(lenth):
    if a[i]==" ":
        b.append(i)#定位出空格所在位置前一个字符位置
b.append(lenth)
print(b)
for j in b:
    if j==b[0]:
        if j>=5:
            temp1=a[:j][::-1]#前闭后开,不包含空格
        else:
            temp1=a[:j]
        c = temp1
    elif j!=b[-1]:
        d=j-b[b.index(j)-1]-1
        if d>=5:
            temp2=a[b[b.index(j)-1]+1:j+1][::-1]#需要颠倒的,包含右边的空格
        else:
            temp2 = a[b[b.index(j) - 1]:j]#包含左边的空格
        #最后一个空格
        c=c+temp2
    else:
        d=j-b[b.index(j)-1]-1
        if d>=5:
            temp3=a[b[b.index(j)-1]+1:j][::-1]
            print(temp3)
            temp3=" "+temp3#需添加空格
        else:
            temp3=a[b[b.index(j)-1]:j]#包含左边的空格
        c=c+temp3
print(c)

运行结果:D:\anaconda3\python.exe D:/python/GAN-1D-master/9.py
27
[8, 10, 13, 22, 27]
sentence a si sentence sihT

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值