在for循环结束后在同一个函数中做什么?

2024-06-28 20:58:47 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能吗?我现在正在做一个bukkit插件(在Python中,是:D),我被迫在一个函数中完成这个任务,所以我不能把它分开,以后再调用它。。。例如,如果我有一个循环,循环通过服务器上的玩家,并添加除一个玩家以外的所有人,我希望它完成,然后将“Player1”传送到随机玩家。目前,它每次传送“玩家1”到随机玩家,因为有循环。。。我只给你一点代码,因为它在预览中看起来很凌乱,因为很多事情都没有涉及到问题,可能会让你混淆。。。这里是:

listica = []
for p1 in org.bukkit.Bukkit.getWorld(nextvalue).getPlayers():
    if p1.getName() not in listica:
       try:
         listica.remove(event.getPlayer().getName())
         randomtarget = choice(listica)
         randomtargetreal = org.bukkit.Bukkit.getPlayer(randomtarget)
         event.getPlayer().teleport(randomtargetreal)
         event.getPlayer().sendMessage("%sYou teleported to: %s%s"%  (bukkit.ChatColor.GREEN, bukkit.ChatColor.DARK_GREEN, randomtarget))                                  
       except ValueError:
             randomtarget = choice(listica)
             randomtargetreal = org.bukkit.Bukkit.getPlayer(randomtarget)
             if event.getPlayer().getLocation() != randomtargetreal.getLocation():
             event.getPlayer().teleport(randomtargetreal)
             event.getPlayer().sendMessage("%sYou teleported to: %s%s"%(bukkit.ChatColor.GREEN, bukkit.ChatColor.DARK_GREEN, randomtarget))

我想要的是:

^{pr2}$

另外,我不能分开做。在

提前谢谢!:)


Tags: inorgeventif玩家greenp1getname