python练习 001 字符串左移

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

题目内容:
给定一个字符串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,从左往右
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值