<p>我最终弄明白了,结果很好。在</p>
<p>这是我的代码:</p>
<pre><code>deck = [(face, suit) for face in range(2,15) for suit in ['\u2660','\u2665','\u2666','\u2663']]
def deal(deck):
strNonDealerHand = []
random.shuffle(deck)
for i in range(5):
dealerHand.append(deck.pop())
dealerHand.sort(key = operator.itemgetter(0))
nonDealerHand.append(deck.pop())
nonDealerHand.sort(key = operator.itemgetter(0))
# The idea for this came about from a lot of research to make the cards print as a card and all on one line.
# Some of the inspiration for this code came from here: https://codereview.stackexchange.com/questions/82103/ascii-fication-of-playing-cards
lines = [[] for i in range(9)]
for index, card in enumerate(nonDealerHand):
# add the individual card on a line by line basis
lines[0].append(str(index + 1) +') '+'┌─────────┐ ')
lines[1].append(' │{} │ '.format(face_print(card))) # use two {} one for char, one for space or char
lines[2].append(' │ │ ')
lines[3].append(' │ │ ')
lines[4].append(' │ {} │ '.format(card[1]))
lines[5].append(' │ │ ')
lines[6].append(' │ │ ')
lines[7].append(' │ {}│ '.format(face_print(card)))
lines[8].append(' └─────────┘ ')
result = []
for index, line in enumerate(lines):
result.append(''.join(lines[index]))
for card in result:
print(card)
def face_print(card):
face_name = card[0]
if face_name == 11:
face_name = 'J'
elif face_name == 12:
face_name = 'Q'
elif face_name == 13:
face_name ='K'
elif face_name == 14:
face_name = 'A'
return '%s' % (face_name)
deal(deck)
</code></pre>
<p>最后,我的卡片被完美地展示了出来。不确定这是不是Python,但我愿意接受更多的反馈。在</p>
<p>谢谢!在</p>