如何使用python将变量放入另一个变量数组

时间:2020-05-15 19:55:08

标签: python discord discord.py

我现在正在尝试使用discord.py制作机器人,现在我正在测试基本功能。基本上,我有一个带有3个补语的变量数组,然后在命令/ compliment不和谐地运行时,它会选择一个随机数,然后从数组中打印出来(因此每次补语都是不同的。

但是,在变量数组中,我想将另一个变量放在一个恭维中,我以为您会使用f字符串,但这只会将所有内容转换为字符串。下面是我使用的代码

randomvariable = "hello"
randomvariablearray = "Good day","You are amazing","{myid} nice to meet you"

基本上,我希望该数组中的第三个句子读为“ Hello,很高兴认识你”。

从上面的数组中获取字符串。

5 个答案:

答案 0 :(得分:2)

您可以使用格式功能:

greetings = "Hello"
txt = "{myid} nice to meet you"
print(txt.format(myid = greetings))

答案 1 :(得分:0)

也许您正在寻找.format()

https://www.w3schools.com/python/ref_string_format.asp

答案 2 :(得分:0)

>>> myid = 'Hello'
>>> randomvariablearray = "Good day","You are amazing","{} nice to meet you"
>>> print(randomvariablearray[2].format(myid))
Hello nice to meet you
>>> 

这是您要寻找的吗? 也有%s方法,但这是格式方法。

答案 3 :(得分:0)

您可以通过以下方式准备补语:

  • 将句子部分放入列表中;
  • 滚动随机数;
  • 创建您的随机称赞;

示例代码:

import numpy
# Put your sentence part in a list
randomvariablearray = ["Good day","You are amazing","{myid} nice to meet you"]
# Roll a number
number = np.random.randint(0, len(randomvariablearray))
# Create your randomize compliment
compliment = "hello, {0} !".format(randomvariablearray[number])
print(compliment)

答案 4 :(得分:0)

这是一个示例命令:

import random

@bot.command()
async def compliment(ctx):
    rnd_compliment = "Hello"
    compliments = ["Good day!", "You're amazing :)", f"{rnd_compliment}, nice to meet you!"]
    await ctx.send(random.choice(compliments))

参考: