如何在python中生成“I”个函数?

2024-06-09 19:23:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用Python中[i]个类似函数来执行for循环:

i = int(raw_input())
for i in range (0, i):
  myfunction[i] = str(raw_input())

我得到一个没有定义的错误。所以我给它下定义。。。。如何定义类似函数的数目?你知道吗


Tags: 函数inforinputraw定义错误range
3条回答

无法按索引设置列表项,请尝试:

myfunction = []
for i in range(0, 5):
    myfunction.append(whatever)

我不知道你想要什么,但从你所说的一切来看,我觉得很简单:

def myfunction(j):
    for i in range(j):
        variable.append(raw_input('Input something: '))

我仍然认为这可能不是你想要的。如果我错了,请纠正我,请说清楚一点。你知道吗

larsmans的答案也可以这样实现:

def make_function(x):
    def function(y):
        return x + y
    return function

functions = [make_function(i) for i in xrange(5)]

# prints [4, 5, 6, 7, 8]
print [f(4) for f in functions]

已更新

从编辑和所有的评论来看,似乎您想向用户请求一个数字N,然后请求N个字符串并将它们放入一个列表中。你知道吗

i = int(raw_input('How many? '))
strings = [raw_input('Enter: ') for j in xrange(i)]
print strings

运行时:

How many? 3
Enter: a
Enter: b
Enter: c
['a', 'b', 'c']

如果你看不懂这个列表,以下是你在没有它的情况下的做法,并附上一些评论:

i = int(raw_input('How many? '))
# create an empty list
strings = []
# run the indented block i times
for j in xrange(i):
    # ask the user for a string and append it to the list
    strings.append(raw_input('Enter: '))
print strings

相关问题 更多 >