Merhabalar
Ben 8x8 her elemanı 0 olan bir matris yapıp içinde random yerlere 8 tane 1 koymak istiyorum bir türlü beceremedım. Yapabilen varsa atabilir mi
Merhabalar
Ben 8x8 her elemanı 0 olan bir matris yapıp içinde random yerlere 8 tane 1 koymak istiyorum bir türlü beceremedım. Yapabilen varsa atabilir mi
import pprint
import random
A = []
boyut = 8
#marisi olustur
for i in range(0,boyut):
B = []
for j in range(0,boyut):
B+=[0]
A += [B]
#eski matrixi yaz
pprint.pprint(A)
#belirlenen sayida eleman seciyor ve 1 olarak degistiriyor
degistirileceklerinsayisi = 10
for index in random.sample(range(boyut**2), degistirileceklerinsayisi):
#8*8 64 tane olasi secenek var
#birbirinin tekrari olmamasi icin random sample kullaniyorum
satir = (int)(index / boyut)#burda satirini hesapliyorum index ile
sutun = index % boyut#burda da sutunu
A[satir][sutun] = 1
#yeni martixi yaz
print("yeni")
pprint.pprint(A)
ciktisi da su sekilde oluyor
[[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]]
yeni
[[0, 0, 0, 1, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 1, 1, 0, 0, 0, 1],
[0, 0, 0, 1, 0, 0, 1, 0]]
ya for kısmını daha detaylı anlatabilir misiniz acaba ? Mantığını tam kavramak istiyorum
sadece araya yeni yazdiriyorum iki matrisin arasina
karismasin diye alttaki ile ustteki