# 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], E[i], 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.

edit retag close merge delete

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:

 Traceback (most recent call last):            n.append(x)
File "", line 1, in <module>

File "/private/var/folders/v7/j_ry66_d0s333h_720qz836c0000gn/T/tmpu6JFBi/___code___.py", line 7
for i in G.vertex_iterator():
^
IndentationError: unexpected indent


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.