|
发表于 2023-3-29 15:44:21
|
显示全部楼层
这段代码的结果是这样的,因为print(file)在for循环中的缩进决定了它是如何执行的。我们先分析一下代码:
- files = ['da1.c','da2.py','da3.py','da4.java']
- py = []
- for file in files:
- if file.endswith('.py'):
- print(file)
- print(file)
- print(file)
复制代码
for循环会遍历files列表中的每一个元素,将每个元素分别赋值给变量file。然后执行循环体中的代码。
循环体中的第一个if语句检查当前file是否以.py结尾。如果是,就会执行缩进在if语句下的print(file)语句。然后不论if语句的条件是否满足,都会执行循环体中的下一个print(file)语句。
因此,对于每个以.py结尾的文件,它们都会被打印两次:一次是由于满足if语句的条件,另一次是由于循环体中的第二个print(file)语句。而对于其他不以.py结尾的文件,它们只会被打印一次,那就是循环体中的第二个print(file)语句。
最后的print(file)语句位于for循环外,当循环结束后,它会打印files列表中的最后一个元素,即'da4.java'。
因此,输出结果如下:
- da1.c
- da2.py
- da2.py
- da3.py
- da3.py
- da4.java
- da4.java
复制代码
|
|