Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何从函数返回修改后的矩阵?_Python 3.x - Fatal编程技术网

Python 3.x 如何从函数返回修改后的矩阵?

Python 3.x 如何从函数返回修改后的矩阵?,python-3.x,Python 3.x,我需要创建一个函数,它将货币+兑换率的嵌套列表作为参数。然后计算10美元、20美元、30美元、40美元、50美元、60美元、70美元、80美元、90美元和100美元将购买每种货币 因此,如果传递给函数的矩阵是:` [['AUD', 0.96],['USD', 0.75],['Euro', 0.67],['GBP', 0.496]] 输出应如下所示: [[10, 9.6, 7.5, 6.7, 4.96], [20, 19.2, 15.0, 13.4, 9.92], [30, 28.7999999

我需要创建一个函数,它将货币+兑换率的嵌套列表作为参数。然后计算10美元、20美元、30美元、40美元、50美元、60美元、70美元、80美元、90美元和100美元将购买每种货币

因此,如果传递给函数的矩阵是:`

[['AUD', 0.96],['USD', 0.75],['Euro', 0.67],['GBP', 0.496]]
输出应如下所示:

[[10, 9.6, 7.5, 6.7, 4.96], [20, 19.2, 15.0, 13.4, 9.92], [30, 28.799999999999997, 22.5, 20.1, 14.879999999999999], [40, 38.4, 30.0, 26.8, 19.84], [50, 48.0, 37.5, 33.5, 24.8], [60, 57.599999999999994, 45.0, 40.2, 29.759999999999998], [70, 67.2, 52.5, 46.900000000000006, 34.72], [80, 76.8, 60.0, 53.6, 39.68], [90, 86.39999999999999, 67.5, 60.300000000000004, 44.64], [100, 96.0, 75.0, 67.0, 49.6]]
我想出了以下代码:

def makeTable(lst):
res =[[]]
matrix = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
conversion = [item[1] for item in lst]

for num in m:
    res.append(num)
    for rate in convers:
        res.append(num * rate)
return (res)

result = makeTable([['AUD', 0.96], ['USD',0.75], ['Euro',0.67], ['GBP',0.496]])
print (result)
但是它没有给我一个嵌套列表的输出,我正试图得到它。有谁能告诉我如何更改代码,以便返回的矩阵是一个子列表,每个子列表包含$(10-100,增量为10),然后是4种不同的转换。

也许这有帮助:

def makeTable(lst): 
    res =[] 
    matrix = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 
    conversion = [item[1] for item in lst]

    for num in matrix: 
        m=[num,]

        for rate in conversion: 
            m.append(num * rate)
        res.append(m)
    return (res) 

result = makeTable([['AUD', 0.96], ['USD',0.75], ['Euro',0.67], ['GBP',0.496]]) 
print (result)
对于3个数字的限制浮动数,您可以替换:

m.append(num * rate)
与:

m.append(round(num * rate,3))