In [1]:
## 4.8

degree = 0 ## gatherer for degree
node_interested = 'A'

for line in open('network.txt'):
    line = line.strip()
    line = line.split('-')
    
    if line[0] == node_interested or line[1] == node_interested:
        degree = degree + 1
        
print( 'Degree for', node_interested, 'is', degree )
Degree for A is 6
In [3]:
## 4.9

in_degree = 0 ## gatherer for degrees
out_degree = 0
node_interested = 'A'

for line in open('directed_network.txt'):
    line = line.strip()
    line = line.split('->')
    
    if line[0] == node_interested:
        out_degree = out_degree + 1
        
    if line[1] == node_interested:
        in_degree = in_degree + 1
        
print( 'Out degree for', node_interested, 'is', out_degree )
print( 'In degree for', node_interested, 'is', in_degree )
Out degree for A is 1
In degree for A is 5
In [6]:
## 4.10

## key observation: degree is actually the column sum on the matrix

degree = 0 ## gatherer
node_interested = 1 ## this is the index location of the colum we are interested in

for line in open('adjacency_matrix.txt'):
    line = line.strip()
    print( line )
    line = line.split(',')
    print( line[ node_interested - 1 ] )
    degree = degree + float( line[ node_interested - 1 ] )

print( degree )
0,1,0,0
0
1,0,1,0
1
0,1,0,1
0
0,0,1,0
0
1.0
In [ ]: