< 符号中的重复错误
Repeated error in < symbol
所以这是我的 sage 程序,用于获取小于 4000000 的偶数斐波那契数列表
但是在 for 循环行中,< 符号重复出现错误。
为什么会这样?
list1 = [1,1]
a = 1
b = 1
list2 = []
for b < 4000000:
b = a + b
list1 += [b]
for i in list1:
if i%2 == 0:
list2 += [i]
print list2
问题不在于“<”运算符,而在于 'for' 的用法。看起来在 sage 中,'for' 循环专门迭代固定列表。将 'for' 替换为 'while',您将获得所需的行为。
第二个问题是,'list1' 不是斐波那契数列,而是包含所有整数,因为您永远不会更新 'a'。
这是对上述两个修改的解决方案:
list1 = [1,1]
a = 1
b = 1
list2 = []
while b < 4000000:
temp = a
a = b
b = temp + b
list1 += [b]
for i in list1:
if i%2 == 0:
list2 += [i]
print list2
所以这是我的 sage 程序,用于获取小于 4000000 的偶数斐波那契数列表
但是在 for 循环行中,< 符号重复出现错误。
为什么会这样?
list1 = [1,1]
a = 1
b = 1
list2 = []
for b < 4000000:
b = a + b
list1 += [b]
for i in list1:
if i%2 == 0:
list2 += [i]
print list2
问题不在于“<”运算符,而在于 'for' 的用法。看起来在 sage 中,'for' 循环专门迭代固定列表。将 'for' 替换为 'while',您将获得所需的行为。
第二个问题是,'list1' 不是斐波那契数列,而是包含所有整数,因为您永远不会更新 'a'。
这是对上述两个修改的解决方案:
list1 = [1,1]
a = 1
b = 1
list2 = []
while b < 4000000:
temp = a
a = b
b = temp + b
list1 += [b]
for i in list1:
if i%2 == 0:
list2 += [i]
print list2