Ask Your Question
0

Need only the final result of for loop

asked 8 years ago

Deepak Sarma gravatar image

updated 8 years ago

tmonteil gravatar image

Suppose I want to increase each off diagonal element of a matrix by 1. Myy program gives me a sequence of matrices each time changing only one entry. I just need the final matrix of the sequence. Please check the following program. What modification is required so that the program changes all the entries at a time?

A=random_matrix(QQ,5,5)
B=copy(A)
for i in range(A.nrows()):
    for j in range(A.nrows()):
        if i!=j:
            B[i,j]=A[i,j]+1
            print A,B
Preview: (hide)

2 Answers

Sort by » oldest newest most voted
0

answered 8 years ago

dan_fulea gravatar image

The question was strictly asking how to perform all add-one operations at once. (That print command was of course misplaced in the inner most loop.)

An answer constructs the B-copy already with the right entries. For me works best:

A = random_matrix( QQ, 5, 5 )
B = matrix( QQ, 5, 5, [ A[n,k]+1 for n in range(5) for k in range(5) ] )
print A
print B
Preview: (hide)
link

Comments

Thank you.

Deepak Sarma gravatar imageDeepak Sarma ( 8 years ago )
1

answered 8 years ago

tmonteil gravatar image

Is it homework ? If yes, you should learn about indentation in Python (hence Sage).

Preview: (hide)
link

Comments

Thank you for your response. I have recently started learning sage(python). But what I know is, if indentations were not appropriate, there would be some error while running my code? Is it? My program ran succesfully, the only problem I have is that it is giving me a lot of unnecessary outputs.

Deepak Sarma gravatar imageDeepak Sarma ( 8 years ago )

You got a broad hint: it's a matter of indentation. Change the level of indentation of the print statement and see what happens.

ndomes gravatar imagendomes ( 8 years ago )

Got it. Thank you

Deepak Sarma gravatar imageDeepak Sarma ( 8 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 8 years ago

Seen: 267 times

Last updated: Feb 26 '17