On 27/9/2013 06:24, markot...@gmail.com wrote: > from random import * > from math import floor >
> > kaarte_alles = 52 > kaart_tõmmatud = [False for i in range(52)] > > > mast = ["ärtu", "ruutu", "poti", "risti"] > aste = ["äss", "kaks", "kolm", "neli","viis", "kuus", \ > "seitse", "kaheksa", "üheksa", "kümme", "soldat",\ > "emand", "kuningas"] > > def tõmba_kaart(): > global kaarte_alles > if kaarte_alles == 0: > print("Segan pakki") > kaarte_alles = 52 > for i in range(52): > kaart_tõmmatud[i] = False > kaarte_alles -= 1 > n = random(kaarte_alles) > kaart = vali_järgmine_vaba(n) > m = kaart % 13 > a = kaart / 13 > print(mast[int(a)] + " " + aste[int(m)]) > > def vali_järgmine_vaba(n): > i = -1 > > while(n > 0): > n -= 1 > i = i + 1 > while kaart_tõmmatud[i]: > i = i + 1 > kaart_tõmmatud[i] = True > return i > > def random(n): > return randint(0, n) > > while True: > n = int(input("Mitu kaarti tõmmata(0 et väljuda): ")) > if(n==0): > break > > for i in range(n): > tõmba_kaart() > > > HI im trying to make a card dealer, but this code doesent work correctly. It > deasl cards, but the cards to repeat. when i type in 52 ten i might get 3 the > same cards. This is a translation from my c++ code. In c++ it works correctly. If you had created your global list containing list(range(52)), then you could do nearly your entire program with one call to random.sample. http://docs.python.org/3.3/library/random.html#random.sample -- DaveA -- https://mail.python.org/mailman/listinfo/python-list