Python Pygame尝试显示列表类型中的文本行时出错错误:文本必须是unicode或字节

Python Pygame尝试显示列表类型中的文本行时出错错误:文本必须是unicode或字节,python,fonts,pygame,Python,Fonts,Pygame,我试图在屏幕上显示列表“magicList”中的每一项,以及前面指示位置的数字,这样看起来就像这样 1火球 2爆炸 3治愈 我只能用文本来显示它,但我似乎不能用数字来显示它,我对len的使用是有缺陷的还是其他原因,因为每次它尝试返回错误: for i in magicList: enemyName = myfont.render(enemy.name,1,(255,255,255)) nu

我试图在屏幕上显示列表“magicList”中的每一项,以及前面指示位置的数字,这样看起来就像这样

1火球

2爆炸

3治愈

我只能用文本来显示它,但我似乎不能用数字来显示它,我对len的使用是有缺陷的还是其他原因,因为每次它尝试返回错误:

              for i in magicList:
                    enemyName = myfont.render(enemy.name,1,(255,255,255))
                    number = []
                    number.append(i)
                    pos = len(number)
                    mDisplayText=myfont.render((str(pos, i)),1,(255,255,255))
奇怪的是,考虑到pos应该是一个整数,但如果有人知道这里出了什么问题,我很想知道


如果有人问我为什么不直接使用数字,我必须使用数字,因为这是玩家选择它的方式,这样做意味着我可以在列表中添加无限数量的项目,而无需对它们进行预编程。

我认为len函数没有任何问题,我已经在下面的文档中看到了,请看这个,如果不查看您的数据,就很难说清楚,因此请分享这些信息

空字符“x00”引发类型错误。接受Unicode和char字节字符串。对于Unicode字符串,只能识别UCS-2字符“u0001”到“uFFFF”。任何更大的错误都会引发

有关更多信息,请参阅此链接

还有一件事我也怀疑是抛出strpos,I,因为我试图在下面的几行中排除根本原因,结果打印strpos时出错,I TypeError:强制转换为str:需要一个类似对象int的字节

    mDisplayText=myfont.render((str(pos, i)),1,(255,255,255))
    TypeError: text must be a unicode or bytes

使用str可能是个坏主意,但是列表只是一个字符串列表,pos应该是一个数字,所以它们不是空字符或者类似的东西,你想用strpos做什么,我?如果您想同时转换pos和i,请分别执行strpos和stri。str只需要一个参数就可以转换为字符串,我知道已经在实际代码中进行了修改,这只是测试的剩余部分,因为不管它返回类型错误,类型错误:文本必须是unicode或字节,因为您将字符串以外的内容传递给.render。文章中的代码段引发了另一个错误。始终发布您的实际代码,否则您会使我们难以帮助您调试它。
i ='Some text'
pos =2
print(str(pos, i))