📅  最后修改于: 2023-12-03 15:23:03.619000             🧑  作者: Mango
这是ISRO CS 2014考试中的一道题目,关于程序员的知识测试。该问题涉及到计算机科学和数学的概念,需要熟悉一些基本的编程语言。
编写一个程序,输入一个字符串和一个整数k,将该字符串旋转k次,并输出旋转后的字符串。旋转的定义如下:
如果我们将字符从字符串的结尾移到开头,它将被旋转一次。例如,字符串“abcd”旋转一次后变为“dabc”。
示例输入:
abcd 2
示例输出:
cdab
定义一个函数,根据旋转的次数,不断切片、拼接字符串。具体实现代码如下:
def rotate_string(string: str, k: int) -> str:
length = len(string)
# 计算旋转后的位置
position = k % length
# 截取后 position 个字符
tail = string[length-position:]
# 截取前 length - position 个字符
head = string[:length-position]
# 拼接新字符串
return tail + head
# 测试代码
print(rotate_string("abcd", 2)) # 输出:'cdab'
本题考察了编程基础知识,熟练掌握字符串操作是必要的。在实现时需要注意字符串切片和拼接的方法,同时对于旋转次数 k,需要使用取模操作,以免造成无用操作。