我即将举行期末考试,这是我唯一无法正确回答的问题:
问题4
word = 'off' prev = "" for letter in word: if prev == ""; prev = letter out = "" continue elif letter == prev: prev = letter out = letter break else: prev = letter out = word[0] print(out)
a( o
b( f
c( of
d( " (空字符串(e(
以上都不是
当我试图解决它时,我认为答案将是"以上都不是",因为out
是在局部变量范围内定义的,并且不再存在于if
语句的每个部分之外。当我在编译器中运行代码来检查我的答案时,我发现正确答案是 b。有人可以解释为什么局部变量范围允许这个答案是正确的吗?提前谢谢你。
由于变量不是在函数或类中声明的,因此它是在全局范围内声明的。
您可以在此处阅读有关它的更多信息:
- https://www.programiz.com/python-programming/global-local-nonlocal-variables
- https://docs.python.org/3/faq/programming.html#what-are-the-rules-for-local-and-global-variables-in-python
- https://www.geeksforgeeks.org/global-local-variables-python/