我试图让玩家手中的扑克牌打印在一行上,而不是像这样分开的行:
┌─────────┐┌─────────┐
│2 ││4 │
│ ││ │
│ ││ │
│ ♥ ││ ♥ │
│ ││ │
│ ││ │
│ 2││ 4│
└─────────┘└─────────┘
我的牌是一个元组数组,有脸和西装。在
我现在正在用Idle3.7.0开发Mac电脑,因为我知道我的教授会用它来给我的最后一个项目打分。我认为任何Mac/Linux解决方案都应该有效,但目前我对任何东西都持开放态度。在
这是我创建卡片的代码:
^{pr2}$这是我打印人脸的代码:
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 = ' ')
不幸的是,这似乎行不通。在
我的输出是这样的:
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————│Q│││││││││││││││││││ │ │ │ │ │ │ │ ♦ │ │ ♠ │ │ ♥ │ │ ♠ │ │ ♣ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││││││2│3│5│9│Q│—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
我尝试了下面两种建议的解决方案,最终得到了这样的结果:
你的手: ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
│2 │ │4 │ │6 │ │9 │ │Q │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ ♥ │ │ ♣ │ │ ♠ │ │ ♥ │ │ ♥ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ 2│ │ 4│ │ 6│ │ 9│ │ Q│
└─────────┘ └─────────┘ └─────────┘ └───────── └─────────┘
我不知道我哪里出错了,但任何帮助都是非常感谢的。在
谢谢!!在
我最终弄明白了,结果很好。在
这是我的代码:
最后,我的卡片被完美地展示了出来。不确定这是不是Python,但我愿意接受更多的反馈。在
谢谢!在
以下代码应该可以工作(Linux,Python3)
关键是使用zip函数一次从每张卡打印一行。在
输出示例:(注:不打印符号。我猜你缺少的功能是做那件事)
^{pr2}$相关问题 更多 >
编程相关推荐