我想弄清楚如何解决这个问题。我知道答案,但我无法弄清楚为什么它是正确的。
primes = [2, 3, 5, 7, 11]
执行以下循环后它包含什么内容?
for i in range(2):
primes[4 - i] = primes[i]
回答:2,3,5,3,2
我被困在primes[4 - i]...
部分。有人可以解释一下吗?我知道这是指数的位置。
答案 0 :(得分:2)
<form name="form1">
<input type="password" name="password" required
ng-model="user.password" />
<input type="password" name="confirmPassword" required
ng-model="user.confirmPassword" compare-to="user.password" />
</form>
<div ng-show="form1.comfirmPassword.$error.compareTo">
Error: Password entries must match
</div>
为您提供从0到n - 1的数字序列。
如果您在代码中按顺序替换range(n)
函数,则基本上可以得到:
range
每次循环时,for i in [0, 1]:
primes[4 - i] = primes[i]
将从0开始变得越来越大。
这反过来意味着i
将从4开始变小。
第一次循环:4 -i = 4 - 0 = 4
第二次循环:4 - i = 4 - 1 = 3
(等等,如果你的范围值大于2)
行4 - i
表示您要为索引primes[4 - i] = primes[i]
分配存储在索引4 - i
的值。
在您的示例中,您的循环实际上是这样做的:
第一个循环:primes [4] = primes [0]
第二循环:primes [3] = primes [1]
给你目前的结果。
答案 1 :(得分:1)
此代码以反转数组开始,但它会覆盖数组的末尾,因此整体上它只输出回文。
答案 2 :(得分:0)
代码只是用第一个交换最后一个,第二个用第二个交换,依此类推。 直到循环结束
答案 3 :(得分:-1)
使用索引构建数组:
0,1,2,...,n
您可以通过选择其位置来输入每个索引,例如array[2]
获取数组的第三个值。
您的代码,如@ script8man解释,选择第4个索引。在range(2)
(0,1)中,它将返回第4和第3个索引,该索引将被第i个索引(0,1)覆盖。