Function 使用循环自动化Python 3中的函数

Function 使用循环自动化Python 3中的函数,function,python-3.x,loops,Function,Python 3.x,Loops,有没有一种方法可以使用for循环来自动化函数?例如 如果我写 def foo (a number): return (a number) for i in range(10): print(foo('1{}').format(str(i)) 属性错误:“非类型”对象没有属性“格式”好吧,我之所以更改它,是因为它并没有真正回答您的问题,但它比您试图创建的要简单得多。实际上,它是一个由循环调用和更新的函数。那么,让我们试试: def foo(num): print(num

有没有一种方法可以使用for循环来自动化函数?例如 如果我写

def foo (a number):
    return (a number)

for i in range(10):
    print(foo('1{}').format(str(i))

属性错误:“非类型”对象没有属性“格式”

好吧,我之所以更改它,是因为它并没有真正回答您的问题,但它比您试图创建的要简单得多。实际上,它是一个由循环调用和更新的函数。那么,让我们试试:

def foo(num):
    print(num)
num = 0
for i in range(1,10,1):
    foo(num + i)
所以,我在这里所做的就是把你的剧本改了。首先,“数字”作为参数会在试图定义它们时导致语法错误。所以我把它改成了“num”

然后,我使用了一个简单的print语句来打印输入的数字。如果您只想让它在数字之间循环,则可以删除此项。当然,将“foo(num+i)”改为“print(num+i)”

“num=0”设置了一个变量,以便我们以后可以使用它

问候,,
Jerry

用于范围(10)内的i:print(foo(10+i))
,或使用
用于范围(10,20)内的i:print(foo(i))
。整数不是字符串,只是使用算术生成参数。因此,不,
str.format()
只对字符串有效,因为它是字符串方法。这里没有字符串。另外,您发布的代码将抛出一个
SyntaxError
异常,而不是您声称得到的错误。因此,该代码只是一个示例,我实际使用的是连接字符串,我的坏代码应该以此为例。虽然数字也一样,但它会改变它。你为什么认为你首先需要代码生成?您可以生成一个包含表达式的字符串,然后对其使用
eval()
,但在99.9%的情况下,有更好的方法来实现您想要的。你想解决的实际问题是什么?