- 题目描述
给一个列表和移动的位数,根据移动的位数从左向右旋转字符串 - 例子
输入: [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’] 移动的位数 2
输出: [‘e’, ‘f’, ‘a’, ‘b’, ‘c’, ‘d’]
注意: 移动位数是指的是 从后向前数
s = [] # 'a','b','c','d','e','f','g'
while 1:
a = input('请输入你要添加的字符:')
s.append(a)
if(a == '1'):
break
b = int(input('移动几位?'))
offset = b # 移动几位(从后往前数)
if len(s) > 0:
offset = offset % len(s) # 旋转字符的结束位置(从前往后数)
temp = (s + s)[len(s) - offset : 2 * len(s) - offset]
for i in range(len(temp)):
s[i] = temp[i]
print(s)
运行结果如下图所示:
我这里的 ‘1’ 是停止向列表添加内容。