【发布时间】:2018-12-02 06:40:19
【问题描述】:
我正在尝试让玩家手中的扑克牌打印在一行上,而不是像这样单独打印:
┌─────────┐┌─────────┐
│2 ││4 │
│ ││ │
│ ││ │
│ ♥ ││ ♥ │
│ ││ │
│ ││ │
│ 2││ 4│
└─────────┘└─────────┘
我的牌在一个包含脸和花色的元组数组中。
我目前正在使用 IDLE 3.7.0 在 Mac 上工作,因为我知道我的教授将使用它来为我的期末项目评分。我认为任何 Mac/Linux 解决方案都应该可以工作,但我现在对任何事情都持开放态度。
这是创建我的卡片的代码:
deck = [(face, suit) for face in range(2,15) for suit in ['\u2660','\u2665','\u2666','\u2663']]
这是我打印人脸的代码:
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)
这是我要开始工作的代码:
def hero(playable,dealerHand,nonDealerHand):
indexDealer = 0
indexNonDealer = 0
strNonDealerHand = []
print(dealerHand)
for index, card in enumerate(nonDealerHand):
nonDealerCard = """
┌─────────┐
│{} │
│ │
│ │
│ {} │
│ │
│ │
│ {}│
└─────────┘""".format(face_print(card),card[1],face_print(card)).split('\n')
strNonDealerHand.append(nonDealerCard)
print('Your hand: ')
for i in range(9):
for index,card in enumerate(strNonDealerHand):
print(strNonDealerHand[index][i], end = ' ')
不幸的是,这似乎不起作用。
我的输出是这样的:
┌─────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ ┌── ────────┐ │2 │ │3 │ │5 │ │9 │ │Q │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ♦ │ │ ♠ │ │ ♥ │ │ ♠ │ │ ♣ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 2│ │ 3│ │ 5│ │ 9│ │ Q│ └─────────┘ └───────── ┘ └─────────┘ └──────────┘ └──────────┘
我尝试了以下两种建议的解决方案,最终得到了这种输出:
你的手: ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
│2 │ │4 │ │6 │ │9 │ │Q │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ ♥ │ │ ♣ │ │ ♠ │ │ ♥ │ │ ♥ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ 2│ │ 4│ │ 6│ │ 9│ │ Q│
└─────────┘ └─────────┘ └─────────┘ └───────── └─────────┘
我不确定我哪里出错了,但非常感谢任何帮助。
谢谢!!
【问题讨论】:
-
如果是在 Windows 上,请确保 cmd.exe 窗口属性中的屏幕缓冲区大小足以容纳一整行,否则它将被换行。编辑:另外,您是否忘记在每个
for i in range(9):的末尾添加\n? EDIT2:啊迈克尔也看到了:) -
在底部的内部
for-loop 之后添加print()以转到下一行。 -
您也可以粘贴示例函数调用吗?还有
face_print函数定义。 -
你好@Jeronimo!我尝试了你的建议,但我最终得到了伸展的卡片。您对如何纠正这个问题有什么建议吗?
-
你好@MichaelButscher!我尝试了你的建议,但我最终得到了伸展的卡片。您对如何纠正这个问题有什么建议吗?
标签: python python-3.x ascii-art