def make_deck():
deck = []
suits = []
cards = []
popped = []
suits = 'CDHS'
cards = 'A23456789TJQK'
for i in cards:
for j in suits:
deck.append (i+j)
random.shuffle(deck)
for card in range(5):
deck.pop(-1) ### I am popping 5 cards from
the deck. How to display which
cards
final = ' '. join(deck)
final2 = print ('\t'.join(deck))
return final2
这给了我以下一行。我想要每行8个,如下所示。我试过用
for i in range(8):
print ('\n'.join(deck))
这不起作用。请帮忙。
QC 7D JC 4H KH 8C TC 9C .
QD 4D 5S QS 6C 5H 3D 6H
6D AH 2S 4C 7C JD TS JS
TD 3C JH KC 7S 8D 2C 9H
3S KS AS KD AD 8H 9S 5C
3H 9D 4S 6S TH 8S 2D
这是一个涉及分块的解决方案:
import random
def chunks(l, n):
"""Yield successive n-sized chunks from l."""
for i in range(0, len(l), n):
yield l[i:i + n]
def make_deck():
deck = []
suits = []
cards = []
popped = []
suits = 'CDHS'
cards = 'A23456789TJQK'
for i in cards:
for j in suits:
deck.append (i+j)
random.shuffle(deck)
for card in range(5):
deck.pop(-1)
for l in chunks(deck, 8):
print(' '.join(l))
return None