While循环输出说明



新学习者,无法承受以下程序的输出。

PlayListRatings = [10, 9.5, 10, 8, 7.5, 5, 10, 10]
i = 0
Rating = PlayListRatings[0]
while(i < len(PlayListRatings) and Rating >= 6):
print(Rating)
Rating = PlayListRatings[i]
i = i + 1

输出

10
10
9.5
10
8
7.5

为什么10,10在一起?为什么会有第三个10?为什么威尔的循环没有在5点中断?

如果将while循环中的i = i + 1语句上移一行,则代码将正常工作。

First将分割出单独的行,以便您更容易理解。

PlayListRatings = [10, 9.5, 10, 8, 7.5, 5, 10, 10]

在这里,您声明了一个数字数组,无论何时选择数组的0th索引都将变为10

i = 0//这里声明了一个迭代器,其初始值为0

Rating = PlayListRatings[0]正如我所说,在这一行中,Rating变量初始化将具有值10,因为它是Array 的0th索引

while(i < len(PlayListRatings) and Rating >= 6):
print(Rating)
Rating = PlayListRatings[i]
i = i + 1

因此,在循环中,初始条件将是迭代器i小于8(数组的总长度(和Rating大于或等于6。当然,这是因为它包含来自数组的0th索引值10。因此,该循环将仅中断,直到值5Rating变量中被替换,也就是在7.5之后。

在这里,第一个打印将是10,然后在每次迭代中,Rating变量分别被0、1、2…索引值替换,因此10(评级变量中的默认值优先(、10(第0个索引(、9.5(第1个索引(和10(第2个索引(如.

最新更新