Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何循环遍历字符串并逐个删除字符_Python_Loops - Fatal编程技术网

Python 如何循环遍历字符串并逐个删除字符

Python 如何循环遍历字符串并逐个删除字符,python,loops,Python,Loops,提供了一个数字和一个单词。例如: value = 3 word = 'NAME' 我必须循环遍历单词NAME,每次删除一个字母,最后显示剩余的最后一个字母。删除的模式是:从第一个字母开始,在一个循环中前进通过value字母(一旦到达末尾,从索引0开始),然后删除到达的字母 例如,如果值为3。它将从N开始计数3,并首先删除M 剩余的是NAE-从下一个字母(现在是E)开始计数到3,然后A将被删除 剩余的是NE-计数到3,从E开始,然后将删除E,只剩下N。结果将显示为N。我无法找到一种方法来构造一个

提供了一个数字和一个单词。例如:

value = 3
word = 'NAME'
我必须循环遍历单词
NAME
,每次删除一个字母,最后显示剩余的最后一个字母。删除的模式是:从第一个字母开始,在一个循环中前进通过
value
字母(一旦到达末尾,从索引0开始),然后删除到达的字母

例如,如果值为
3
。它将从
N
开始计数
3
,并首先删除
M

剩余的是
NAE
-从下一个字母(现在是
E
)开始计数到
3
,然后
A
将被删除

剩余的是
NE
-计数到
3
,从
E
开始,然后将删除
E
,只剩下
N
。结果将显示为
N
。我无法找到一种方法来构造一个循环来完成这个迭代

到目前为止,我已经手动完成了,并使其像

如果值==4:
打印('A')
elif值==1:
打印('E')
elif值==2:
打印('N')
这是不实际的,因为该值介于
1-100之间。任何其他解决方案,通过该解决方案将自动迭代、删除并显示最后一个字母。

您实际上无法从字符串中“删除”字符,因为字符串是不可变的。所能做的是使用修改后的字符串重新赋值

对于循环,可以使用
%
(模数)操作符来实现循环效果。首先,您需要在每次迭代中标记要计数的第一个索引:

start = 0
然后我们将继续迭代,直到只剩下一个字母:

while len(word) > 1:
现在我们要找到下一个要删除的字母的索引。正如我所说,通过使用
%
,我们将在最后一个字母之后回到
0

    to_remove = (start + value - 1) % len(word)
现在我们需要实际删除找到的字母,正如我所解释的,我们必须重新分配变量,我们将使用切片来删除字母:

    word = word[:to_remove] + word[to_remove+1:]
总的来说,我们有一些类似的东西:

def删除字母(单词、值):
开始=0
而len(word)>1:
删除=(开始+值-1)%len(字)
开始=删除
word=word[:to_remove]+word[to_remove+1:]
回信
举几个例子:

删除字母('NAME',3) “不” >>>删除字母('NAME',4) “A” >>>删除字母(“名称”,5) “A”
我可以给你看另一个例子。假设值=5,单词='NAME'第1步-计数从N开始,当它达到5时,它会删除在本例中为N的字母。第2步-计数从A开始,当它达到5时,该字母被删除,即M。现在剩下的AE第3步-计数从E开始,当它达到5时,该字母被删除,即E。结果-A。endHi Samad,欢迎使用堆栈溢出!这看起来可能是一个家庭作业问题,因此我希望看到更多的尝试来编写您自己的实现。您可以阅读更多有关的详细信息。一些帮助您解决问题的建议。我建议您研究并思考如何使用循环不断删除项目,直到只剩下一个项目。杰夫:这不是什么家庭作业,但作为自学的一部分,我自己学的。这不是全部工作。实际上,这只是整个编码的一部分,但非常关键。我一直试图从列表中删除元素,但无法循环遍历单词并删除。