Kezdőoldal » Számítástechnika » Programozás » Pythonban hogyan lehet a...

Pythonban hogyan lehet a random.sample kiválasztás parancsnál kizárni bizonyos feltételnek megfelelő tagokat a kiválasztásból?

Figyelt kérdés
Pl. Van az első 10 számból álló lista(0,1,2,3,4,5,6,7,8,9) Ki akarok választani belőle 1 számot, de például egy bizonyos feltételnek eleget tevőt ki akarok zárni a kiválasztás lehetőségéből: pl. a 2-őt, és a 7-et) (A feladatban nyilván bonyolultabb a feltétel, csak szemléltetni akartam).A kiválasztásnál tudom,hogy a ramdom.samplet kell használni,azonban mivel lehet kizárni bizonyos feltételnek eleget tevő tagokat a kiválasztás lehetőségéből?

2021. febr. 8. 20:54
 1/4 anonim ***** válasza:
79%
Miután elolvastad és megértetted a dokumentációban található vezérlési szerkezeteket, azok kipróbálása során mit tapasztaltál?
2021. febr. 8. 21:05
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
69%

Nemár, ez rohadt egyszerű: addig választol ki egy random elemet, amíg megfelelőt nem találsz. Ehhez a random függvénynek semmit köze. Ez nem megy?


(BTW ehhez nem a random.sample(), hanem random.choice() ajánlott használni.)

2021. febr. 8. 21:22
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
69%

Bár csak nagyon konkrét esetekre, és rövid listával ideális, de én inkább visszafelé játszanám el.

Ne kihagyja, hanem ha azt kapja keressen mást. Bár már régen használtam Python-t (más irányba mentem), a 2-esben erre még a logikai tartalomellenőrzéses megoldás volt a szimpatikus. A Python3-ban nem tudom milyen módok vannak még rá.


List = [0,1,2,3,4,5,6,7,8,9]

sampleList = random.sample(List, k=1)


while 2 or 7 in sampleList:

sampleList = random.sample(List, k=1)


Tehát azt mondod, hogy egészen addig, amíg a sampleList tartalmazza a 2-t vagy a 7-et, randomizálja újra.

A "2 or 7" helyére természetesen úgy írod meg a kivételeket, ahogy akarod.


Emellett annyit még hozzátennék, ha tudod, hogy biztosan csak egész számaid lesznek, és csak egyet kell kiválasztanod, akkor a random.randint() jobb megoldás, mint a random.sample().

2021. febr. 8. 21:47
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
100%
szürd meg a listát a filter nevü függvénnyel. Ennek az eredményét dobd be a random.sample-nak
2021. febr. 8. 21:48
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!