Autor Zpráva
Jandak
Profil
Zdavím, prosím mohl by mi někdo poradit jak vygenerovat pouze jedenkrát položku z daného seznamu tzn., aby se třeba vygenerovalo jen A vs. B C vs.D, proste aby nebyly duplicity.. díky
seznam=('A','B','C','D) 
    
     self.gen = random.choice(seznam), 'vs.', random.choice(seznam)
     self.result.set(self.gen)
peta
Profil
a = random.choice(seznam)
neco jako php unset(seznam[a])
b = random.choice(seznam)
neco jako php unset(seznam[b]) //nevim, jak se ted dela unset v pythonu
str = a + ' vs. ' + b
Tori
Profil
Jandak:
A nebyl by použitelný jiný algoritmus?

- náhodně zamíchat pole
- dokud pole obsahuje víc než 1 položku:
  - vystrčit z pole poslední dvě položky (array_pop) a složit z nich řetězec
- ? něco co chcete udělat s lichou položkou, pokud může zbýt
peta
Profil
To je mozna lepsi. Nejaky random sort tam bude. Polozky bych pouzil spis prvni dve.
pole2 = String.join(' vs. ',pole1[:1])
Spis se bojim, ze potreuje provest rozlosovani skupin. Tohle je priklad pro prvni dvojici.
Jandak
Profil
peta:
To je mozna lepsi. Nejaky random sort tam bude. Polozky bych pouzil spis prvni dve.
pole2 = String.join(' vs. ',pole1[:1])
Spis se bojim, ze potreuje provest rozlosovani skupin. Tohle je priklad pro prvni dvojici.
jj je to na rozlosování skupin :D
neutr
Profil
Jestli tomu dobře rozumím, tak jde o algoritmus "Bergrových tabulek". Je to ale také problém šifer. Pokud tedy potřebujete něco takového, tak jak popisujete to nepůjde. Nejnovější řešení udělal Prof. Fronček. A dokonce uvádí, že se zabývá drobnostmi jako jsou rozhodčí ap. Jenže aplikace pro šifry předpokládá minimálně rozsah n = 256 - ASCII 8 bit, nebo až UTF16. Pokud je to něco takhle velkého, tak bych uměl poradit. Pokud je to jen málo, lze sehnat na netu pod heslem "Bergrovy tabulky - algoritmus ap".

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0