这是我到目前为止提出的。我现在已经用固定数字替换了用户输入,以便更快地进行故障排除。
n = 5 e = 0.5 L = range(1, 20+1) k = 0 a = min(element for element in L if element > k) while (n/a) > e: k = k + 1 a = min(element for element in L if element > k) if (n/a) < e: print(a) if (n/a) < e: print(a)
[如果我删除了部分代码,则留下了:
n = 5 e = 0.5 L = range(1, 20+1) k = 0 a = min(element for element in L if element > k) o = n/a if 0 < e: print(o)
然后一切正常。当然,问题在于我必须手动将k的值加1才能找到满足设定条件的最小值a。]
这是分配的一部分,另一部分是创建斐波那契数列。我设法弄清楚了那部分。在分配的上下文中,n仍将是随机整数用户输入,e将是随机浮点用户输入,a将是斐波纳契序列中的最小值,其中n / a
这是我到目前为止提出的。我现在用固定数字替换了用户输入内容,以使故障排除更快。 n = 5 e = 0.5 L = range(1,20 + 1)k = 0 a = min(element ...
所以您需要找到a
,以使a
是列表中所有元素的最小值,为此n/a < e
。
将有效的a
值上的条件编码为L上的生成器非常容易,然后取最小值: