Actually, a really cheap, poorly made, pushbutton connected directly to the clock input of a decade counter can also produce a random count. No need for a 555 timer or other clock circuitry. One case where switch bounce is a good thing! Then a BCD to decimal decoder can be used to drive only one LED at a time. This would work for up to 10 LEDs if all bits were used; if the upper two bits to the decoder where pulled low, then one of four - as per the original post - would light. I've used this technique in the past...