Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #54877

Re: card dealer

From Alister <alister.ware@ntlworld.com>
Subject Re: card dealer
Newsgroups comp.lang.python
References <0617088e-5aa3-4c5d-b660-22040ee858a1@googlegroups.com>
Message-ID <7ae1u.2$1W6.0@fx05.am4> (permalink)
Organization virginmedia.com
Date 2013-09-27 11:41 +0000

Show all headers | View raw


On Fri, 27 Sep 2013 03:24:28 -0700, markotaht 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.


It looks like you a simply selecting a random entry in the deck 
i would suggest you try the following

1) build the deck as a list (i think you are already doing this)
2) shuffle the list (random.shuffle would be good here)
3) pop the cards of the list as required

this resemble the real world & should be easy to break down into various 
classes & expand for multiple decks if req.


-- 
Passionate hatred can give meaning and purpose to an empty life.
		-- Eric Hoffer

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

card dealer markotaht@gmail.com - 2013-09-27 03:24 -0700
  Re: card dealer Dave Angel <davea@davea.name> - 2013-09-27 11:26 +0000
  Re: card dealer MRAB <python@mrabarnett.plus.com> - 2013-09-27 12:27 +0100
  Re: card dealer Alister <alister.ware@ntlworld.com> - 2013-09-27 11:41 +0000
  Re: card dealer Dave Angel <davea@davea.name> - 2013-09-27 12:08 +0000
    Re: card dealer Denis McMahon <denismfmcmahon@gmail.com> - 2013-09-27 16:10 +0000
      Re: card dealer Dave Angel <davea@davea.name> - 2013-09-27 21:00 +0000
      Re: card dealer Ned Batchelder <ned@nedbatchelder.com> - 2013-09-27 17:40 -0400
        Re: card dealer Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-28 06:01 +0000
          Re: card dealer Ned Batchelder <ned@nedbatchelder.com> - 2013-09-28 06:31 -0400
          Re: card dealer Dave Angel <davea@davea.name> - 2013-09-28 12:56 +0000
          Re: card dealer Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-28 16:49 +0200
            Re: card dealer Tim Roberts <timr@probo.com> - 2013-09-28 17:04 -0700

csiph-web