我新调试好的程序如下,应该是对的,供参考/ s; K/ y- f1 a, }3 g+ q" S8 A% D. E
因为特殊要求,这里的边的长度是二维座标内的空间距离 2 u* Z; ^0 c% j# D0 r8 } 7 ^$ V1 ~* E' |7 D8 e7 mto find-distance/ E @( p5 F2 i( D) F
let i 0 * ], Q$ f9 ?( f, w( b1 a3 k let j 06 z# ^' r) @: a: C
let nodedistance 0 4 c$ \% y9 d* e9 E7 Q$ Q' l' q let linknumber 0' @" t+ E' H& o5 o( L
" \4 a! X: B" H) e' Y* ? while [j < count turtles] " s* I* f' V7 s2 d1 F% y( L [ 2 s. a# x5 U: D0 F1 n( E7 V {6 B while [i < count turtles]. x j9 ]* l3 t# Z; ^- O: \
[ if link-neighbor? turtle i . m5 R9 M) X* d [ask turtle j [set nodedistance nodedistance + distance turtle i]) W' }8 Z0 F4 z+ @* v8 ^
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i] 3 a2 m% O7 C+ a& E0 C ] ; o& O5 O% i7 i) Y set i i + 1 ) E; p$ [; _' [( N9 K ] ; ^7 l& E3 G" A, L6 Z$ n# h# U* I set j j + 1 1 U/ m4 F/ w2 d3 c7 g4 j ] ) g. {4 {" P! S7 Y2 e: } set average-path-length nodedistance / (linknumber * 2) ( ^- ~( V' a1 Iend