Šioje programoje išmoksite maišyti kortų kaladę naudodami atsitiktinį modulį.
Norėdami suprasti šį pavyzdį, turite žinoti apie šias „Python“ programavimo temas:
- „Python for Loop“
- „Python“ moduliai
- „Python“ atsitiktinis modulis
- „Python“ programavimo integruotos funkcijos
Pirminis kodas
# Python program to shuffle a deck of card # importing modules import itertools, random # make a deck of cards deck = list(itertools.product(range(1,14),('Spade','Heart','Diamond','Club'))) # shuffle the cards random.shuffle(deck) # draw five cards print("You got:") for i in range(5): print(deck(i)(0), "of", deck(i)(1))
Rezultatas
Jūs gavote: 5 8 širdies 1 širdį iš 5 kastuvo 12 kastuvo
Pastaba: paleiskite programą dar kartą, kad sumaišytumėte korteles.
Programoje mes naudojome product()
funkciją itertools
modulyje, kad sukurtume kortų kaladę. Ši funkcija atlieka dviejų sekų Dekarto sandaugą.
Dvi sekos yra skaičiai nuo 1 iki 13 ir keturi kostiumai. Taigi, kartu su kiekviena kortele kaip po porą kaladėlių turime 13 * 4 = 52 daiktus. Pavyzdžiui,
deck(0) = (1, 'Spade')
Mūsų denio užsakyta, todėl shuffle jį naudojant funkciją shuffle()
į random
modulį.
Galiausiai mes ištraukiame pirmąsias penkias korteles ir parodome jas vartotojui. Kiekvieną kartą paleidus šią programą gausime skirtingus rezultatus, kaip parodyta mūsų dviejuose išėjimuose.
Čia mes panaudojome standartinius modulius itertools
ir random
tai pateikiama kartu su „Python“.