# How to find the sum weight on a vertex

Hi I want to define a random labeling on edges of a graph (without duplicate labels ) and then find the sum of the weights of incident edges to each vertex. Here is code I wrote:

```
n=[]
import random
W=random.sample(G.num_edges(),G.num_edges())
w_edges = [(E[i][0], E[i][1], W[i]) for i in xrange(q)]
for i in G.vertex_iterator():
x=sum(W[k] for k in G.neighbor_iterator(i))
n.append(x)
```

But I receive some errors. I'll be happy if you can help me.

What is

`q`

? What sorts of errors do you get? What is a sample graph that we can work with?@John

q=G.num_edges()

I get these errors:

I wanted to obtain an antimagic labeling. A graph G is antimagic if there exists a bijective edge labeling from E(G) to {1,..., |E(G)|} such that the vertex sums are pairwise distinct. If you have another code, I will appreciate if you tell me.

The code you posted has an indentation error on the last line:

`n.append(x)`

is indented an extra space compared to the previous line. There is no such error on the line`for i in ...`

.Also,

`random.sample`

takes a list as the first argument, and`G.num_edges()`

is a number, not a list.