【发布时间】:2015-10-14 02:29:49
【问题描述】:
现在,问题是我应该从用户那里获取未知数量的输入,比如在一次运行中他可以输入 10 个术语,在另一次运行中他可以输入 40。而且我最初不能要求用户输入n 这样我就可以运行范围循环并开始将输入存储在列表中。如果我能以某种方式做到这一点,那么我已经创建了循环,但事实并非如此。那么,问题是如何为用户定义端点?或者如何将未知数量的参数传递给函数?
def fibi(n):
while n<0 or n>=50:
print "Enter value of n greater than 0 but less than 50"
n = int(raw_input())
if n==0:
return n
else:
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
主调用函数开始
n =[]
????
//This loop is for calling fibi function and printing its output on each diff line
for i in n:
print (fibi(n[i]))
示例输入:每个条目都应该在一个新行上
1
2
3
4
5
.
.
.
n
样本输出
1
1
2
3
5
【问题讨论】:
-
*args 和 **kwargs pythontips.com/2013/08/04/args-and-kwargs-in-python-explained
-
你不能在每次输入后询问用户是否想提供更多输入吗?
-
通常,在这些情况下,您要么在每次输入后询问用户是否有更多输入,要么定义一个特殊的输入来标记列表的结尾。
-
@JulianBerger 对于许多输入,这可能会变得乏味;我建议在特殊字符或无输入时退出循环。
-
通常最好在命令行上指定这些参数,而不是在每次迭代时询问用户新参数。例如,
python myprog.py 1 2 3 4 5 6 7比嵌入在输出中的问题要清晰得多。然后你可以在这里使用其他的 sys.argv cmets。
标签: python list python-2.7 arguments command-line-arguments