在Python中生成所有拼字块的列表

2024-10-04 11:30:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印一份你在包里找到的拼字砖的清单。我必须使用一个函数,我有两个变量,一个用于字母,另一个用于计数(每个字母的数字平铺数),当我打印它时,它将每个字母打印26次:(

def genRepeatedChars(chars, repeats) :
    tileBag = []
    for LETTERS in allLetters:
       for i in range(len(COUNTS)):
           print (LETTERS)
    return chars

Tags: 函数infordef字母数字计数平铺
1条回答
网友
1楼 · 发布于 2024-10-04 11:30:07

假设您的变量LETTERSCOUNT列表(这看起来好像每个字母打印了26次),您可以这样打印它们:

LETTERS = list('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
COUNT = [2, 4, 9, 14, 9, 7, 1, 14, 7, 3, 11, 10, 8, 14, 14, 4, 4, 15, 14, 8, 2, 3, 4, 7, 10, 1]
for letter, count in zip(LETTERS, COUNT):
    print('{}: {}'.format(letter, count))

输出

^{pr2}$

如果要创建“平铺包”,可以执行以下操作:

from collections import Counter
from random import shuffle

tile_bag = list(Counter(dict(zip(LETTERS,COUNT))).elements())
shuffle(tile_bag)

这会给你一袋随机的瓷砖。您可以选择随机平铺:

tile = tile_bag.pop()

相关问题 更多 >