Ask Your Question
0

Pb with an integer random draw

asked 2020-05-31 22:15:21 +0200

Cyrille gravatar image

The following code do nearly what I expect : defining random numbers whose sum equal a given number. Unfortunately, if i change RR for ZZ it return an error --- and of course I need integers.

elec=100
candidats= 4 
nn=list([i for i in range(candidats-1)])
PP=([0 for i in nn])
PP[0]=RR.random_element(0,elec)
for k in nn:
    PP[k]=RR.random_element(0,elec-sum(PP[j]for j in nn[:k]))
show(PP)
show(sum(PP))

I do not understand my error since it was working at the beginning. Also the sum was nearly always equal to elec with some time a unit of difference. Also is there a command to shuffle the number inside the list.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-06-01 01:23:14 +0200

Cyrille gravatar image

I was persuaded that ZZ was defined by default as RR. In fact I must add ZZ = IntegerRing() and replace RR by ZZ.

edit flag offensive delete link more

Comments

ZZ is defined by default:

sage: ZZ
Integer Ring

Maybe you overwrrote it ?

tmonteil gravatar imagetmonteil ( 2020-06-01 01:38:53 +0200 )edit

Certainly since at the begining my code was working. tmonteil thanks to always answer my studip questions.

Cyrille gravatar imageCyrille ( 2020-06-01 15:32:37 +0200 )edit

Your Answer

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

Add Answer

Question Tools

1 follower

Stats

Asked: 2020-05-31 22:15:21 +0200

Seen: 192 times

Last updated: Jun 01 '20