我正试图将一张纸牌(王牌到王牌)的面值放到一张乌龟抽奖牌上。整个功能的主要代码使用for每个循环以级联方式将卡放置在板上(接龙样式)。当我使用place_face_value()代码放置一个值时,它会重复数字,此处的其他问题似乎都无法满足我的需求。
我试图用一个已经使用过的值附加一个新列表(您可以在我的代码中看到此尝试的一些残余),并创建一组未使用的值以应用于for每个循环的将来迭代。我无法使它正常工作。
#This function deals with printing the values onto each card
def place_face_value():
card_values = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
position = pos()
goto(position)
face_value = sample(card_values, 1)
values_used = []
#Goto top left and print value
seth(90)
forward(80)
seth(180)
forward(55)
write(face_value)
#Goto bottom right and print flipped value
seth(270)
forward(160)
seth(0)
forward(110)
write_upside_down(face_value)#card value
goto(position)
values_used.append(face_value)
#The main code of the function takes the number of cards and prints them accordingly.
if num_cards > 0:
which_stack() #choose stack
#Place cards, and cascade them by 50px
for cards in range(num_cards):
seth(270)
forward(50)
which_suit()
place_face_value()
基本上,上面的代码需要做现在做的事情(以相同的方式放置卡片并将数字应用到左上角和右下角),但无需重复已放置在同一“堆栈”中的任何值的级联卡(请考虑纸牌列)。我不确定如何使每个循环的每次迭代足够独特,以便我可以打印列表而无需重复(因为每张卡都应该显示不同)。