mardi 7 mai 2019

Python randint() repeats numbers - seed is not the problem?

i do learn Python for scientific working. At the moment i try to generate a 10x10 random Matrix with binary entries: 0 and 1. I already got a solution with numpy BUT im interested of what is the error in my own solution.

The Idea is to Access every entry of my Matrix seperately and assign a value to it by calling random.randint(0, 1 ) within two while loops. In Advance i define a dummy 10x10 Matrix called "World" and reassign ist values it in the loop. The Code Looks how follows:

import random

World=list(10*[10*[0]]) #this is my dummy matrix

i=0
j=0

while i <= 9:
    while j <= 9:
        World[i][j]=random.randint(0, 1) #here i want to Access a specific element of my dummy Matrix and "overwrite" it
        if j == 9:
            j=0 #if the counter "j" reaches 9 - the last element - it shall assign j=0 and leave the innermost while loop by "break"
            break 
        j=j+1
    i=i+1

for x in World:
    print(*x)

The Problem with the Output should be obvious: columns are equal

I am hopefully u understand what was my Intention here and can help me fix my code. I tried many many Things but i did not fix this. I already found a 2-line short solution which i will use in my final Code but i want to run this also on my own because i am convinced this could work also well.

Many Thanks in Advance. - Wendel




Aucun commentaire:

Enregistrer un commentaire