python新手。我想要使用for循环,并且对于f(x)和amp;都将10到19的范围放入函数定义x ^ 2 +1中。 G(X)。试图做下面没有成功。建议?
def f(x):
return (x*2+1)
def g(x):
return (x*3+1)
for f(x) in range(10, 20):
print x
for g(x) in range(10, 20):
print x
答案 0 :(得分:2)
您应该切换变量和方法表达式:
for x in range(10, 20):
print f(x)
for x in range(10, 20):
print g(x)
这将分别为范围内的每个f(x)
(10,11,12,...,19)调用g(x)
和x
。
答案 1 :(得分:1)
你的函数调用应该是
for x in range(10, 20):
print f(x)
for x in range(10, 20):
print g(x)
这样你就可以为指定范围内的x
的每个实例调用你的函数,你当前调用它的方式毫无意义。
答案 2 :(得分:-2)
目前还不清楚你的意思
我想使用for循环,并且放置了10 - 19的范围 进入函数定义 x ^ 2 +1,用于f(x)和& G(X)。
但是如果你的意思是指定的范围要放在函数定义中,那么你可以选择用以下方式定义函数
def f( first: int, last: int ) -> int:
for i in range( first, last + 1 ):
yield i ** 2 + 1
def g( first: int, last: int ) -> int:
for i in range( first, last + 1 ):
yield i ** 3 + 1
for i in f( 10, 20 ): print( i, end = " " )
print()
for i in g( 10, 20 ): print( i, end = " " )
print()
此代码段的输出类似于
101 122 145 170 197 226 257 290 325 362 401
1001 1332 1729 2198 2745 3376 4097 4914 5833 6860 8001
如果使用的Python不支持注释,则重写像
这样的定义def f( first, last ):
for i in range( first, last + 1 ):
yield i ** 2 + 1
def g( first, last ):
for i in range( first, last + 1 ):
yield i ** 3 + 1