Python Elif语句似乎无法正确读取变量
我知道,Python Elif语句似乎无法正确读取变量,python,variables,discord,discord.py-rewrite,Python,Variables,Discord,Discord.py Rewrite,我知道,elif user==whitelist:中的两个值是相同的,应该触发elif语句,但是代码只是传递了elif语句并转到else语句。当我输入elif user==“562448514349662208”:时,elif语句确实有效,但是我希望elif语句能够从变量中读取。我用其他变量做了一些测试,由于某种原因,当我与一个变量进行比较时,elif语句就不起作用了 下面是我的更多代码,以防您需要更多的上下文 whitelist = "562448514349662208"
elif user==whitelist:
中的两个值是相同的,应该触发elif语句,但是代码只是传递了elif语句并转到else语句。当我输入elif user==“562448514349662208”:
时,elif语句确实有效,但是我希望elif语句能够从变量中读取。我用其他变量做了一些测试,由于某种原因,当我与一个变量进行比较时,elif语句就不起作用了
下面是我的更多代码,以防您需要更多的上下文
whitelist = "562448514349662208"
user = int(message.author.id)
if message.author == bot.user:
content = message.content[3:]
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.delete()
await message.channel.send(embed=embedvar)
if user == whitelist:
content = message.content[3:]
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.channel.send(embed=embedvar)
else:
content = user
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.channel.send(embed=embedvar)
您正在比较字符串和int…它们需要是相同的类型才能检查它们是否相同
您正在将字符串与int进行比较。它们需要是相同的类型才能检查它们是否相同。您的类型都不匹配:
whitelist = "562448514349662208" # type: str
user = int(message.author.id) # type: int <-- I don't think you want this!
if message.author == bot.user:
content = message.content[3:] # type: str
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.delete()
await message.channel.send(embed=embedvar)
if user == whitelist:
content = message.content[3:] # type: str
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.channel.send(embed=embedvar)
else:
content = user # type: int
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.channel.send(embed=embedvar)
whitelist=“562448514349662208”#类型:str
user=int(message.author.id)#type:int您的类型都不匹配:
whitelist = "562448514349662208" # type: str
user = int(message.author.id) # type: int <-- I don't think you want this!
if message.author == bot.user:
content = message.content[3:] # type: str
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.delete()
await message.channel.send(embed=embedvar)
if user == whitelist:
content = message.content[3:] # type: str
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.channel.send(embed=embedvar)
else:
content = user # type: int
color = discord.Color(value=int("%06x" % random.randint(0, 0xFFFFFF), 16))
embedvar = discord.Embed(description=content, color=color)
await message.channel.send(embed=embedvar)
whitelist=“562448514349662208”#类型:str
user=int(message.author.id)#type:int您发布的代码没有elif
它有2个if
s和else
。请尝试str(user)==whitelist
。您正在比较字符串和整数您发布的代码没有elif
它有2个if
s和else
。请尝试str(用户)==whitelist
。您正在比较字符串和整数