Skip to main content
 首页 » 编程设计

python之为什么我收到错误之在格式字符串中遇到单个 '}'

2025年05月04日20itcoder

我正在编写一些代码以查看打印出我可以用字母字符串“myLetters”组成的单词列表,但由于某种原因我的格式设置不起作用。它应该作为一个单词列表出现,它和值之间的空格与 myLetters + 4 的长度一样多

def scrabbleWords(myLetters): 
        letterPoints = {'a':1,'b':3,'c':3,'d':2, 'e':1,'f':4,'g':2,'h':4,\ 
    'i':1,'j':8,'k':5,'l':1,'m':3,'n':1,'o':1,'p':3,'q':10,'r':1,'s':1,\ 
    't':1,'u':1,'v':4,'w':4,'x':8,'y':4} 
        wordList = createWordList('wordlist.txt') 
        myWords = [] 
        for myWord in wordList: 
            x = canWeMakeIt(myWord,myLetters) 
            if x == True: 
                myWords.append(myWord) 
 
 
        pointWordList = [] 
        for myWord in myWords: 
            t = getWordPoints(myWord,letterPoints) 
            pointWordList.append((t,myWord)) 
        pointWordList.sort(reverse=True) 
 
 
        lenx = str(len(myLetters)+4) 
        for pointValue, myWord in pointWordList: 
            x = '{:'+lenx+'}{}'.format(myWord,pointValue) 
            print(x) 

请您参考如下方法:

'{:'+lenx+'}{}'.format(myWord,pointValue) 

解释为

'{:'     +     lenx     +     '}{}'.format(myWord,pointValue) 

将其更改为:

'{1:{0}}{2}'.format(lenx, myWord, pointValue) 

编辑:不要忘记将 lenx 更改为整数(或者根本不将其转换为字符串):

lenx = len(myLetters) + 4