题目内容:
给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串“abcdef”前面的2个字符‘a’、‘b’移动到字符串的尾部,得到新字符串“cdefab”,称作字符串循环左移k位。
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。
可以使用以下语句实现字符串s的输入:
s=str(input())
可以使用以下语句实现非负整数n的输入:
n=int(input())
输入格式:
输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。
输出格式:
在一行中输出循环左移N次后的字符串。
输入样例:
abcd
2
输出样例:
cdab
s = str(input())
n = int(input())
print(s[n:]+s[0:n])
思路
1.左移n次:右段向左移n次,左段n个字符移到右边
2.分别获得左段和右段的字符(line3)
3.两端字符调整位置:右段字符+左段字符(line3)
语法要点
1.input注明数据类型
2.字符串切片
s = 'abcde'
s'= '01234'
s[start:end:step]
#start不可缺省,end缺省为直到最后,step缺省为“1”
#step正值为“向右”,负值为“向左”
#左边第一位为“0”;右边第一位为“-1”
s[0] >>> 'a' #提取单个字符,从0开始
s[0:1] >>> 'a' #左闭右开,取前下标、不取后下标
s[0:2] >>> 'ab' #左闭右开,取前下标、不取后下标
s[0:3:2] >>> 'ac' #[start:end:step]
s[0:4:2] >>> 'ac' #左闭右开
s[0:5:2] >>> 'ace' #左闭右开
s[2:] >>> 'cde' #从start开始往右直到最后一位(缺省)
s[-1] >>> 'e' #-1为最后一位
s[-3:] >>> 'cde' #从start开始往右直到最后一位(缺省)
s[-3::-1] >>> 'cba' #step正负为方向,end缺省为直到最后
s[0:-3] >>> 'ab' #start到end,从左往右
s[-3:0] >>> '' #无法输出
s[2:-1] >>> 'cd' #start到end,从左往右
s[-3:-1]>>>'cd' #start到end,从左往右

该博客介绍了一道Python编程练习题,要求根据输入的字符串S和非负整数N,将S的前N个字符移动到字符串尾部。通过输入示例和思路解析,解释了如何利用字符串切片完成这一操作,强调了input的数据类型注释和字符串切片的语法要点。
2315

被折叠的 条评论
为什么被折叠?



