您的位置:首页 > 新闻 > 热点要闻 > python-首字母移位(PythonTip)

python-首字母移位(PythonTip)

2024/12/22 15:32:13 来源:https://blog.csdn.net/2401_83954530/article/details/140630544  浏览:    关键词:python-首字母移位(PythonTip)

[题目描述]
编写一个程序,将句子中每个单词的首字母移位到下一个单词。定义函数shift_first_letter(),参数为sentence(字符串)。在函数内,将句子中每个单词的首字母移位到下一个单词。最后一个单词的首字母移位到句子的第一个单词。
比如create a function,移位后为freate c aunction,步骤为:句子中单词的首字母为:
create → c
a → a
function → f
经过右移一步后:
f → freate
c → c
a → aunction
所以最终结果为freate c aunction。
示例输入:
create a function
示例输出:
freate c aunction


完整代码展示:
a=list(map(str,input().split()))
b=[]
for i in range(0,len(a)):
      for j in range(0,len(str(a[i]))):
           if j==0:
               b.append(a[i][j])
b.reverse()
b.append(b[0])
b.remove(b[0])
b.reverse()
c=0
e=[]
while c<len(a):
       sum=""
       d=list(str(a[c]))
       for k in range(0,len(d)):
             if k==0:
                  sum+=b[c]
            else:
                  sum+=d[k]
      e.append(sum)
      c+=1
for l in range(0,len(e)):
    print(e[l],end=" ")


代码解释:
a=list(map(str,input().split())) ”,让用户输入一行字符串,并将其分割后储存进列表a中。
b=[]
 for i in range(0,len(a)):
       for j in range(0,len(str(a[i]))):
            if j==0:
                b.append(a[i][j])            
”,建立一个空列表b,依次遍历列表a中的每一个元素,并依次遍历每个元素中的每个字符,判断其是否为该元素的首字符:如果是,则将该元素的首字符添加进列表b中;否则不作处理。直至遍历结束。
b.reverse()
 b.append(b[0])
 b.remove(b[0])
 b.reverse()      ”
,先反转列表b,再将其第一个元素添加进末尾,再删除第一个元素,再反转列表b,意义在于将列表b中每个元素向右旋转一位。
c=0
 e=[]
 while c<len(a):
        sum=""
        d=list(str(a[c]))
        for k in range(0,len(d)):
              if k==0:
                   sum+=b[c]
             else:
                   sum+=d[k]
       e.append(sum)
       c+=1
                               ”,设循环密码子为c,并将其初始值设为0,建立一个空列表e。当c<len(a)时,建立一个空字符串sum,将a[c]转换为字符储存进列表d中。接着遍历列表d,如果k==0,则让sum连接b[c];否则sum连接d[k],遍历结束后,将连接完成的字符串sum添加进列表e中。每循换一次,就令c+1,直至c==len(a),跳出整个whle循环。
for l in range(0,len(e)):
        print(e[l],end=" ")
   ”,依次遍历列表e中所有元素并打印,每两个元素之间插入一个空格。


运行效果展示:

993ada6818554741b31e896b2d15732a.jpg
            
        

81047b5ae03a4fcab575c62e0386facc.jpg 

              (声明:以上内容均为原创) 


        

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com