【发布时间】:2021-01-21 21:14:58
【问题描述】:
如果你有一个字符串 "MOBILE" 并且你有一个数字 n=5 ,那么从 M 开始它将迭代 5 次,这将删除 L 并显示它。 ,然后从 E 开始,它将迭代 4 次,这将删除 B 并显示它。 ,然后从 I 开始,它将迭代 3 次,这将删除 M 并显示它。 ,然后从 O 开始,它将迭代 2 次,这将删除 I 并显示它。 ,然后从 E 开始,它将迭代 1 次,这将删除 E 并显示它。 ,最后显示剩余元素O。
所以我们得到字符串 LBMIEO
这就是我想出的......我知道它完全错误......请有人指导我
string="mobile"
n=3
list1=[]
list2=[]
pos=-1
for items in string:
list1.append(items)
while n>=0 :
for i in range(0,n):
pos=pos+1
if pos==len(list1)+1:
pos=0
list2.append(list1[pos])
list1.pop(pos)
n=n-1
print(list2)
【问题讨论】:
-
不确定“从 [..] 迭代 .. 次开始”背后的逻辑到底是什么……你能澄清一下吗?
-
你的问题给出了一个代码应该做什么的例子,但没有解释它是一个例子的要求。
-
我猜你想删除
(letter index + n) % len(string)? -
看看
collections.deque。在循环中旋转双端队列,减少位置数(5、4、3,...)并弹出/打印索引 0 处的元素 -
用户输入一个单词和一个小于其长度的数字(位置)......这个数字应该在一个循环中并最终达到0..我们必须循环遍历字符并删除它按位置。