首页 > Python资料 博客日记

python-首字母移位(PythonTip)

2024-08-06 14:00:04Python资料围观67

文章python-首字母移位(PythonTip)分享给大家,欢迎收藏Python资料网,专注分享技术知识

[题目描述]
编写一个程序,将句子中每个单词的首字母移位到下一个单词。定义函数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中所有元素并打印,每两个元素之间插入一个空格。


运行效果展示:


            
        

 

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


        


版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐