?887 2022-11-05 08:56 采纳率: 97.8%
浏览 20

python定义函数

完成rotate_text()函数,它接受两个参数,一个字符串data和一个整数n。如果n为正数,则函数将数据中的所有字符向前移动n个位置,字符串末尾的字符将移动到字符串的开头。如果n为O,则文本保持不变。
例如:Rotate_text ('abcde', 1)将返回字符串'eabcd"
Rotate_text ('abcde', 3)将返回字符串'cdeab"
Rotate_text ('abcde', 5)将返回字符串'abcde"
Rotate_text ('abcde', 6)将返回字符串'eabcd"…等等。
如果n为负数,则该函数将把数据中的字符向后shSe n个位置,将字符串开头的字符移到字符串末尾。
例如:Rotate_text ('abcde', -1)将返回字符串'bcdea"
rotate_text(abcde', -3) 将重新生成字符串 'deabc'
Rotate_text ('abcde', -5)将返回字符串'abcde"。等等。
注:•可以假设数据字符串至少包含一个字符。

img


def rotate_text(data, n):

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2022-11-05 09:14
    关注

    写两个左移和右移函数,然后给这个函数调用

    def move_right(ls):
        c = ls[len(ls)-1]
        for i in range(len(ls) - 1,0,-1):
            ls[i] = ls[i-1]
        ls[0] = c
    def move_left(ls):
        c = ls[0]
        for i in range(0,len(ls)):
            ls[i] = ls[i+1]
        ls[len(ls)-1] = c
    def rotate_text(data, n):
        ls = list(data)
        if(n>0):
            for i in range(1,n+1):
                move_right(ls)
        else:
            for i in range(1,-n+1):
                move_left(ls)
        print("".join(ls))
        
    rotate_text("Hello_world",5)
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月5日