[]
Kodlama bilenlere basit bir soru
Istanbul = ["a", "b", "c", "d"]
Ankara = ["A', "B", "C", "D", "E", "F", "G", "H"]
Iki liste var ve bu kisileri rastgele Ankara'dan iki kisi ve Istanbul'dan bir kisi olmak uzere nasil elestiririz?
Ornegin A grubunda "a", "D", "H" olsun ama bu kisiler baska gruplarda olmasin.
Tesekkurler
Edit: Python kullaniyorum
Ankara = ["A', "B", "C", "D", "E", "F", "G", "H"]
Iki liste var ve bu kisileri rastgele Ankara'dan iki kisi ve Istanbul'dan bir kisi olmak uzere nasil elestiririz?
Ornegin A grubunda "a", "D", "H" olsun ama bu kisiler baska gruplarda olmasin.
Tesekkurler
Edit: Python kullaniyorum
Hangi dilde yaptigina bagli biraz. Ama mantik olarak Istanbul listesini 2 kez, Ankara listesini de bir kez randomly shuffle edersin. Sonra Istanbul'un iki kez randomly shuffle edilmis hallerini birlestirip, Ankara'nin shuffle edilmis hali ile map edersin. Boylece Istanbul'daki her element icin Ankara'dan randomly iki element secmis olursun. Aslinda Ankara'yi shuffle etmen bile gerekli degil ama etmenin bir zarari da olmaz. Benim aklima gelen ilk yontem bu. Diline bagli olarak implementasyonu sana bagli.
Shuffle etmek icin de random number generator'lar kullanirsin. Diyelim ki RNG kullandigin dildeki random number generator olsun. Yapman gerekn soyle bir sey olur:
ist2= Istanbul(RNG(length(Istanbul)))
Shuffle etmek icin de random number generator'lar kullanirsin. Diyelim ki RNG kullandigin dildeki random number generator olsun. Yapman gerekn soyle bir sey olur:
ist2= Istanbul(RNG(length(Istanbul)))
- chunksia (11.04.17 08:47:31 ~ 08:55:56)
listeleri shuffle et (karıştır)
istanbul'dan 1 ankara'dan iki kişi al ve o kişileri listelerden çıkar.
aynı işlemi 4 kez yap.
bu çözmez mi?
istanbul'dan 1 ankara'dan iki kişi al ve o kişileri listelerden çıkar.
aynı işlemi 4 kez yap.
bu çözmez mi?
- cedex (11.04.17 08:56:19)
import random
ist = ['a', 'b', 'c', 'd']
ank = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
ist2 = ist + ist
random.shuffle(ist2)
random.shuffle(ank)
map_list = dict()
for i,item in enumerate(ist2):
if item in map_list:
map_list[item].append(ank[i])
else:
map_list[item] = [ank[i]]
Soyle bir outcome verir mesela:
>>> map_list
{'a': ['G', 'H'], 'c': ['F', 'A'], 'b': ['E', 'C'], 'd': ['B', 'D']}
NOT: indentation'a dikkat et :)
ist = ['a', 'b', 'c', 'd']
ank = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
ist2 = ist + ist
random.shuffle(ist2)
random.shuffle(ank)
map_list = dict()
for i,item in enumerate(ist2):
if item in map_list:
map_list[item].append(ank[i])
else:
map_list[item] = [ank[i]]
Soyle bir outcome verir mesela:
>>> map_list
{'a': ['G', 'H'], 'c': ['F', 'A'], 'b': ['E', 'C'], 'd': ['B', 'D']}
NOT: indentation'a dikkat et :)
- chunksia (11.04.17 09:32:20 ~ 09:38:06)
1