Anonymní profil Wrunx – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Wrunx – Programujte.comAnonymní profil Wrunx – Programujte.com

 

Příspěvky odeslané z IP adresy 188.120.195.–

Wrunx
Python › Výběr s pravděpodobností
30. 10. 2015   #206019

No, a pokud někdo chce "more pythonic way", stačí nebýt líný a zeptat se strejdy gůgla :-D

"python weigthed choice?" a hned první odkaz je:

http://stackoverflow.com/questions/3679694/a-weighted-version-of-random-choice

Wrunx
Python › Výběr s pravděpodobností
25. 10. 2015   #205878

Kdysi jsem používal takovýto laický postup:

from random import randint
prav_jevu_a=30 # procent
prav_jevu_b=70
bazen="a"*prav_jevu_a+"b"*prav_jevu_b

# nahodny vyber zohlednujici pravdepodobnost
volba=""
for i in xrange(1,10000): # kolik pokusu
    volba+=bazen[randint(0,len(bazen)-1)] # nahodny vyber z bazenu

# no a jak to vyslo:
print 70/30.0 # idealni pripad
print float(volba.count("b"))/volba.count("a") # uspesnost "nahodneho" vyberu

Wrunx
Python › Python, čas a rohodování pod…
7. 2. 2013   #171247

Takže ještě jedno imho elegantní řešení, které ve smyčce detekuje libovolnou klávesu (ukončit lze stiskem "x"), pomocí modulu curses:

import curses,time,sys

def main(stdscr):
 stdscr.nodelay(1)
 a=0; c=0
 while c != ord("x"):
   a+=1
   c = stdscr.getch() # cti stav keyb
   if c != -1:
    print "[stiskl jsi",chr(c),"a cislo je",a,"] ",
   else: # vracena -1 znamena ze kbd vstup neobsahoval zadny znak
    print a,
   sys.stdout.flush(); time.sleep(0.3)

if __name__ == '__main__':
 curses.wrapper(main)
 print "pokracovani programu..."

Wrunx
Python › Python, čas a rohodování pod…
7. 2. 2013   #171244

# je to takove polovicate reseni, reaguje na stisk Ctrl+C, pote ukonci smycku a pokracuje v pgmu.
import time, sys
a=0; print "Cislo si stopni Ctrl+C"
try:
    while 1:
        a+=1; print a,; time.sleep(0.3); sys.stdout.flush()
except KeyboardInterrupt:
    pass

print"\n vybrano bylo cislo",a

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý