python单词反转

您所在的位置:网站首页 团购界面设计 python单词反转

python单词反转

2023-08-10 10:35| 来源: 网络整理| 查看: 265

主要实现快速字符转翻转倒置,将指定的前n个字符移动到字符串结尾,翻转中英文单词顺序

上python代码:

class ReverseString:

string=[]

def __init__(self,string):

self.string=list(string)

def reset(self,string):

self.string=list(string)

def reverse(self,startidx=0,endidx=None):

if endidx is None:

endidx=len(self.string)-1

if startidx>=endidx:

print('out:',startidx, endidx)

return

strlen=endidx-startidx+1

center=strlen//2

for i in range(center):

tmp=self.string[endidx-i]

self.string[endidx - i]=self.string[startidx+i]

self.string[startidx+i]=tmp

def get_reverse_result(self):

return ''.join(self.string)

def move_front_n_to_end(self,n=None):

if n is None:

n=len(self.string)

strlen = len(self.string)

if n>strlen:

n=n%strlen

self.reverse(0,n-1)

self.reverse(n, strlen-1)

self.reverse(0, strlen-1)

def reverse_word(self):

strlen = len(self.string)

findstart=False

for i in range(strlen):

if self.string[i]!=' ' and not findstart:

findstart=True

st=i

if self.string[i]==' ' and findstart:

ed=i-1

findstart=False

self.reverse(st,ed)

if findstart:

self.reverse(st, strlen-1)

self.reverse(0, strlen-1)

测试:

rv=ReverseString('客上天然居')

rv.reverse()

print(rv.get_reverse_result())

rv.reset('hello word!')

rv.reverse_word()

print(rv.get_reverse_result())

rv.reset('789123456')

rv.move_front_n_to_end(3)

print(rv.get_reverse_result())

输出:

居然天上客

word! hello

123456789

喜欢 (0)赏

close.jpg

感谢您的支持,我会继续努力的!

alipayimg.jpg

扫码打赏,你说多少就多少

alipay.jpg

wechat.jpg

打开支付宝扫一扫,即可进行扫码打赏哦



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3