该字典对应于编号节点:
{0: True, 1: True, 2: True, 3: False, 4: False, 5: False, 6: True, 7: True, 8: False, 9: False}
Run Code Online (Sandbox Code Playgroud)
使用两个打印语句,我想打印标记和未标记的节点,如下所示:
标记节点: 0 1 2 6 7
未标记的节点: 3 4 5 8 9
我想要一些接近的东西:
print("Marked nodes: %d" key in markedDict if markedDict[key] = True)
print("Unmarked nodes: %d" key in markedDict if markedDict[key] = False)
Run Code Online (Sandbox Code Playgroud) let distance (x:(float * float)): float =
sqrt ((fst x * fst x) + (snd x * snd x))
let getClosestPair (pairs:(float * float) list) =
let mutable closest = (0.0, 0.0)
if List.isEmpty pairs then
(infinity, infinity)
else
closest <- pairs.[0]
for i in pairs do
if (distance i) < (distance closest) then closest <- i
Run Code Online (Sandbox Code Playgroud)
上面的函数通过浮点对列表.每一对都像笛卡尔平面上的坐标.该函数找到与原点最接近的一对.底部的for循环生成类型错误.
"这个表达式预计有float*float类型,但这里有类型单位"
我该如何解决这个错误?