我正在尝试为个人项目创建一个不和谐机器人,以便在Python编程中更好地完成自己。但是,我遇到了一个问题。当机器人获得这段代码时:
def bloodbath(tribs):
event = "null"
for person in tribs:
bloodbath_type = ["bloodbath_solo","bloodbath_duo"]
output = ["Bloodbath Day."]
type = random.choice(bloodbath_type)
if type == "bloodbath_solo":
output.append((random.choice(bloodbath_solo)) % (person))
else:
if len(current_duo) < 2:
current_duo.append(person)
if len(current_duo) == 2:
output.append((random.choice(bloodbath_duo)) % (current_duo[0], current_duo[1]))
current_duo.clear()
return output
await self.bot.say(bloodbath(tributes))
出现了一些问题。
第一:for person in tribs
循环只运行一次,或者根本不运行。这是一个输出的例子。
https://imgur.com/gallery/gIhnS
我想要的是将循环附加到输出列表6次或更少(取决于是否有需要2个人的情况)并将其返回到机器人,它可以将其输入到聊天中。
这是整个代码的加速器。
答案 0 :(得分:0)
第return output
行打破循环并立即返回。为了更好地理解这个问题,请尝试以下方法:
def spam():
for item in [1, 3, 5, 7, 9, 11]:
return item * 2
print(spam()) # -> 2
将output = []
和return output
移至循环外部。你应该能够弄清楚其余部分。