【发布时间】:2017-01-04 20:16:44
【问题描述】:
for flight in range(0,s_count-1):
for check in range(0,count-1):
if str(rmr[flight][0])==str(sec[check][0]) or str(rmr[flight][1])==str(sec[check][1]):
print 'Direct flight exist from '+str(sec[check][0])+' to '+str(sec[check][1])+', price'+str(sec[check][3])+', flight duration '+str(sec[check][2])+'\n'
else:
print 'There is no Direct flight from '+str(sec[check][0])+' to '+str(sec[check][1])+'\n'
break
s_count=6
count=8
count 和 s_count 是代表我从中获取信息的两个特定文件中有多少行的数字。 信息基本如下
rmr = [[2, 4], [2, 3], [2, 5], [4, 5], [1, 5]]
rmr[x][0] 代表“起点”,rmr[x][1] 代表“终点”
秒 =
[
[1, 2, 4.0, 100.0],
[2, 3, 1.5, 500.0],
[2, 4, 10.0, 700.0],
[2, 5, 5.75, 1500.0],
[3, 4, 11.4, 200.0],
[4, 5, 10.5, 750.0],
[4, 6, 6.75, 550.0]
]
sec[x][0] 代表“原点”
sec[x][1] 代表“目的地”
sec[x][2] 代表“时间”
sec[x][3] 代表“成本”
我试图对航班信息所做的整个概念。根据rmr[0] "Route Matching Request",客户希望从 'Origin' 2 转到 'Destination' 4
所以如果我们去sec[2],我们会看到这个航班是可用的,它需要10个单位的时间和700,所以这就是out应该说的:
2到4有直飞,价格700.0,飞行时长10.0
所以我运行了我拥有的这段代码,这是输出
没有从 1 到 2 的直飞航班
2到3有直飞,价格500.0,飞行时长1.5
2到4有直飞,价格700.0,飞行时长10.0
2到5有直飞,价格1500.0,飞行时长5.75
直飞航班从3到4,价格200.0,飞行时长11.4
没有从 4 到 5 的直飞航班
4点到6点没有直达航班
而我的预期是
2到4有直飞,价格700.0,飞行时长10.0
2到3有直飞,价格500.0,飞行时长1.5
2到5有直飞,价格1500.0,飞行时长5.75
从4到5有直飞,价格750.0,飞行时长10.5
没有从 1 到 5 的直飞航班
【问题讨论】:
-
我建议的一件事是,如果这是家庭作业,请提及 -> 这是大学 CS 课程中非常常见的要求,您显然需要一些额外的帮助。我建议去看导师或你的教授。