]>
gitweb.pimeys.fr Git - chopes.git/blob - chopes.py
2 # -*- encoding: utf-8 -*-
4 # Codé par 20-100 et Gaétan le 13/08/12
5 # parce que parfois, à la Mèd, on fait des conneries
10 from dijkstra
import dijkstra
15 con
= psycopg2
.connect(database
= "chopes")
16 cur
= con
.cursor(cursor_factory
=psycopg2
.extras
.DictCursor
)
21 con
, cur
= getcursor()
22 cur
.execute("SELECT * FROM chopes;")
24 m
= [ [0 if i
==j
else inf
for i
in range(n
)] for j
in range(n
)]
26 m
[a
][b
] = 1 # Deux personnes qui se sont chopées sont à distance 1
27 m
[b
][a
] = m
[a
][b
] # Pour nous, les matrices seront symétriques. (Victime inconsciente : -10 pts)
33 cur
.execute("SELECT nom FROM gens WHERE id = %s;", (id,))
34 return cur
.fetchone()["nom"]
40 dists
.append(dijkstra(m
, i
))
43 def moyenne(dists
, i
):
44 nn
= len([a
for a
in dists
[i
] if a
!=inf
])
45 return sum([dist
for dist
in dists
[i
] if dist
!=inf
])/float(nn
-1) # On ne se compte pas soi-même
47 if __name__
== "__main__":
48 con
, cur
= getcursor()
49 cur
.execute("SELECT max(id) FROM gens;")
50 n
= cur
.fetchone()[0] + 1
52 dists
= distances(mat
)