F(x,y)=3x+10y
我想f(x,y)
在 python 中显示 x={0,1…,5} 和 y={0,1,…..,8} 的所有结果,
我试过:
from math import *
def f(x,y):
x in rang(5)
y in rang(8)
return (3*x)+(10*y)
NameError: name 'x' is not defined
您必须将结果存储在这样的列表中,然后像这样在循环结束时返回
def f(x,y):
result = []
for i in range(x):
for j in range(y):
result.append((3*i)+(10*j))
return result
print f(5, 8)
或者您可以像这样使用列表理解来缩短循环部分
def f(x,y):
return [(3*i)+(10*j) for i in range(x) for j in range(y)]
您似乎对函数的工作原理有所了解。您应该在f(x,y)
函数外部循环并传入x
and y
。
我相信这就是你想要的:
from math import *
def f(x, y):
return (3 * x) + (10 * y)
for x in range(5):
for y in range(8):
print "f(%d, %d) = %d" % (x, y, f(x, y))