Discord机器人角色生成功能如何根据随机年龄匹配对应职业列表
Discord机器人角色生成功能实现
现有代码问题
- 仅覆盖了年龄<20的职业赋值场景,20~25岁、26岁及以上区间未做处理,运行时会触发
ocupacao变量未定义报错 - 判断阈值不符合你要求的25岁分界规则
修正后完整代码
@client.command() async def personagem(ctx): idade = random.randint(5,60) # 按25岁阈值匹配对应职业列表,可将ocupacao_under25、ocupacao_over26替换为你实际的列表名 if idade <= 25: ocupacao = random.choice(ocupacao_under25) else: ocupacao = random.choice(ocupacao_over26) # 用三引号处理多行字符串避免语法错误 await ctx.send(f'''`Nome:{random.choice(nomesh)} {random.choice(sobrenomeh)} Idade: {idade} Ocupação: {ocupacao}`''')
逻辑说明
- 年龄生成规则保留了你原来的5~60岁随机生成逻辑
- 完全匹配需求:≤25岁从低龄职业列表取值,≥26岁从高龄职业列表取值
- 覆盖了所有年龄区间的职业赋值,不会出现变量未定义的运行错误
- 优化了多行输出的字符串写法,避免原代码中f-string换行可能触发的语法错误
内容的提问来源于stack exchange,提问作者日本Jorge
相关产品推荐
相关产品推荐

