【发布时间】:2011-12-23 08:47:56
【问题描述】:
我正在尝试跟踪一段代码的执行,该代码包含一个 for loop 和两个 if conditionals。但我需要帮助了解for loops 在 python 中是如何执行的。
请考虑以下示例:
numAs = 0
numEs = 0
aStr1 = 'abcdefge'
def someFunc(aString):
1. for i in range(len(aString)):
2. if s[i] == 'a':
3. numAs += 1
4. continue
5. if s[i] == 'e':
6. numEs += 1
7. if numEs > numAs:
8. break
9. print(someFunc(aStr1))
问题:使用aStr作为参数,上面代码中第1行会执行多少次?
我的理解是这段代码的第一行:for i in range(len(aString)),只会执行一次。而第 2 行和第 5 行将根据传递的字符串执行多次。当函数遇到continue 语句时,它会返回到第2 行并运行它。请确认或更正我的想法。
谢谢
【问题讨论】:
-
你读过
continue语句的什么定义?您能否提供您正在使用的教程的链接或参考?不清楚你读到了什么,所以不清楚你真正在问什么。 -
我正在阅读的书是 Brad Miller 的“Python Programming in Context”。这个问题不是来自我只是想了解迭代的工作原理的书。我对我的问题进行了一些编辑。希望现在更清楚了。
-
与当前主题无关,但您可以使用
for c in aString。现在,您正在创建一个包含 n 个整数的列表(n 是字符串的长度,一次从该列表中检索一个整数,并使用它们来索引字符串,此时您可以直接迭代字符串的字符. -
“迭代究竟是如何工作的”?你所说的“确切地”是什么意思?似乎您在询问有关循环的几件事,其中一些是微不足道的,而其中一些是显而易见的。您能否更清楚地了解什么让您感到困惑。
-
问题已经回答了
标签: python if-statement trace conditional-statements