文本未被附加和发送

Text Is Not Being Appended and Sent

我正在尝试为我的 discord 机器人创建一个命令,该命令接收文本,每隔一个字母大写,将其附加到一个数组,然后发回。我让它工作,以便它可以附加文本并将其打印出来,但是当我尝试将其大写时出现问题。

@bot.command()
async def spongetext(ctx, *, message):
    textmessage = []
    for letter in message:
        textmessage.append(letter)
    await ctx.send(textmessage)

上面的代码在 运行 作为 .spongetext test test

时有效并输出以下内容

['t', 'e', 's', 't', ' ', 't', 'e', 's', 't']

但是,当我使用这段代码将其他字母大写时

async def spongetext(ctx, *, message):
    textmessage = []
    for letter in message:
        if letter % 2 == 0:
            textmessage.append(letter.upper())
        else:
            textmessage.append(letter)
    await ctx.send(textmessage)```


Nothing is output, no error message, and no text

在你的代码中,if letter % 2 == 0: 没有意义,你不能对字母进行阶乘。

尝试这样的事情:

message = "hello, this is a message."

textmessage = []

for i in range(0,len(message)):
        letter = message[i]
        if i % 2 == 0:
            textmessage.append(letter.upper())
        else:
            textmessage.append(letter)

print(textmessage)
print("".join(textmessage))

对于您的“if”语句,您正在比较字母本身,对其执行 % 2 == 0。相反,您也可以使用枚举来获取您所在的索引。

for i, letter in enumerate(message):
    if i % 2 == 0:
        textmessage.append(letter.upper())
    else:
        textmessage.append(letter)