为什么没有中断,此代码不断返回我的输入?

问题描述 投票:0回答:1

任何人都可以帮助我了解为什么如果我不把break放在那里的话,代码会给我多个输出。例如:

在:myfunc('abogoboga')

<<

def myfunc(*args): output = [] for strg in args: for char in strg: for i in range(len(strg)): if i % 2 == 0: output.append(strg[i].lower()) else: output.append(strg[i].upper()) break return ''.join(output)

但是,按上述输入break后:

在:myfunc('abogoboga')

出:'aBoGoBoGa'

任何人都可以帮助我了解为什么如果我不加中断的话,代码会给我多个输出。例如:输入:myfunc('abogoboga')输出:'...

python-3.x function break
1个回答
0
投票
您的嵌套for循环完成相同的事情。 for char in strg正在为char中的每个字符分配strg,但是您从不使用它。取而代之的是,您再次遍历strg,并且它与break一起工作的原因是,如果在执行一次for char in strg循环后中断,则您会将for循环变成一个简单的语句。一种更简单的方法是删除for char in strg

0
投票
这可能是由于您嵌套了for循环。尝试一次在纸上运行代码一次,您会知道哪里出了问题
© www.soinside.com 2019 - 2024. All rights reserved.