我对Python很陌生,所以我正在尝试编写一个程序来模拟Texas Hold Em Poker对抗计算机对手以帮助我学习。我正在尝试创建一个函数'Turn',它将打印Flop +一个新的列表,其中一张卡称为'turn',它将在一个变量'Board'中。但我收到标题中的错误,不知道如何解决它。到目前为止,这是我的代码。
import random
def Deal():
RANKS = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A']
SUITS = ['Diamond', 'Club', 'Spade', 'Heart']
DECK = []
your_HAND = []
for j in RANKS:
for i in SUITS:
card = [j]+[(i[0:1])]
DECK.append(card)
random.shuffle(DECK)
your_HAND.append(DECK.pop(1))
your_HAND.append(DECK.pop(2))
your_new_HAND = your_HAND[0][0]+your_HAND[0][1].lower()+your_HAND[1][0]+your_HAND[1][1].lower()
print('You have been dealt {}'.format(your_new_HAND))
Flop(DECK)
def Flop(DECK):
FLOP = []
random.shuffle(DECK)
FLOP.append(DECK.pop(1))
FLOP.append(DECK.pop(2))
FLOP.append(DECK.pop(3))
Flop = FLOP[0][0]+FLOP[0][1].lower()+FLOP[1][0]+FLOP[1][1].lower()+FLOP[2][0]+FLOP[2][1].lower()
print('Board reads: {}'.format(Flop))
Turn(DECK, FLOP)
def Turn(DECK, FLOP):
TURN = []
random.shuffle(DECK)
TURN.append(DECK.pop(1))
Turn = TURN[0][0]+TURN[0][1].lower()
Board = Flop + Turn
print('Board reads: {}'.format(Board))
错误从转弯
开始答案 0 :(得分:1)
您正在尝试使用字符串添加函数,消息非常明确:
Turn = TURN[0][0]+TURN[0][1].lower()
# Turn is a string
Board = Flop + Turn
# Flop is a function
有可能让变量Flop
和FLOP
混淆了。但是你不应该给变量赋予与函数相同的名称,这是一种不好的做法。
答案 1 :(得分:0)
将变量名称与函数名称混合绝不是一个好主意,并且您无法在python中将函数对象添加到字符串对象。 Flop + Turn
不可行。