F(x,y)=3x+10y
我想在python中显示f(x,y)
对于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
答案 0 :(得分:2)
你必须将结果存储在这样的列表中,然后在循环结束时返回,如下所示
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)
或者您可以使用list comprehension缩短循环部分,就像这样
def f(x,y):
return [(3*i)+(10*j) for i in range(x) for j in range(y)]
答案 1 :(得分:0)
您似乎对混合功能的运作方式有所了解。您应该在f(x,y)
函数之外循环并传入x
和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))