首页 > 解决方案 > 如何计算所有可能路线中的二氧化碳排放量,而不仅仅是一条路线,就像代码在行变量“距离”中显示的那样

问题描述

def main():
    portnames = ["PAN", "AMS", "CAS", "NYC", "HEL"]

   
    D = [
            [0,8943,8019,3652,10545],
            [8943,0,2619,6317,2078],
            [8019,2619,0,5836,4939],
            [3652,6317,5836,0,7825],
            [10545,2078,4939,7825,0]
        ]

   
    co2 = 0.020

    route = [0, 1, 2, 3, 4]
    distance =D[route[0]][route[1]] + D[route[1]][route[2]] + D[route[2]][route[3]] + D[route[3]][route[4]]
    emissions = distance * co2
    print(' '.join([portnames[i] for i in route]) + " %.1f kg" % emissions)
    
main()

标签: pythonlistoptimization

解决方案


您可以通过哪些方式移动?

您可以使用队列执行此操作,它还允许您毫无问题地更改表的大小。请记住,这种方法的复杂性会飙升,但您需要测试所有路径。请提供更多关于您可以移动的方式的信息,以便我们理解。


推荐阅读