我在Project Euler上的问题2遇到了麻烦.目标是找到Fibonacci序列中偶数值的总和,其值不超过四百万.由于某种原因,我一直得到0作为我的输出.我究竟做错了什么?
total = 0
count = 0
term = 0
fibonacciMemo = {0:0, 1:1}
def main ():
term = fibonacci (count)
while (term <= 4000000):
if (term % 2 == 0):
total += term
count += 1
def fibonacci (n):
if not n in fibonacciMemo:
fibonacciMemo [n] = fibonacci (n - 1) + fibonacci (n - 2)
return fibonacciMemo [n]
print (total)
Run Code Online (Sandbox Code Playgroud) 我在列表中有一个列表,并且想要将所有值更改为整数。我已经做到了,但是假设我让用户指定了列表中他们将拥有多少个列表。如何将所有这些值都转换为整数?
我有以下代码,该代码当前接受任何列表或列表中的任何列表,并将所有值转换为整数。我可以看到如何将其扩展到列表中的更多列表,但这可能是不必要的,或者可能还不够。当然,这似乎很慢并且需要很多代码。
for i in l:
index = l.index(i)
l[index] = list(map(int, l[index]))
Run Code Online (Sandbox Code Playgroud)
我的清单是l,其中的每个清单l都是i。我获取我所处位置的索引,并将其中的所有值转换为整数。我如何创建一个函数/循环,以接收列表中有多少个列表,并将它们全部转换为整数?
例如在此输入上:
l = [['6', '5'], '7', ['88', '99', '1']]
Run Code Online (Sandbox Code Playgroud)
上面的代码将返回:
[[6, 5], 7, [88, 99, 1]]
Run Code Online (Sandbox Code Playgroud)
但是,如果我有:
l = [['6', '7'], ['6', ['7', '8']]]
Run Code Online (Sandbox Code Playgroud)
我收到错误:
"TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'"
Run Code Online (Sandbox Code Playgroud)
我知道这是因为我仅转换嵌套在列表中的列表,而不转换嵌套在列表中的列表中的列表,因此它认为我正在尝试将整个列表转换为整数。
长话短说,我如何构建一个可以将任意数量的嵌套列表转换为整数的函数?