Python 在for循环在同一函数中完成后执行什么操作?
这可能吗?我现在正在用Python做一个bukkit插件,是的:D,我被迫在一个函数中完成这项工作,所以我不能将它分开,以后再调用它。。。例如,如果我有一个循环,循环服务器上的玩家,并添加除一个玩家以外的所有人,我希望它完成,然后将玩家1传送到随机玩家。目前,由于for循环,它每次都将Player1传送给随机玩家。。。我只给你们一点代码,因为它在预览中看起来很混乱,因为很多事情都和这个问题无关,可能会让你们感到困惑。。。这是:Python 在for循环在同一函数中完成后执行什么操作?,python,list,jython,Python,List,Jython,这可能吗?我现在正在用Python做一个bukkit插件,是的:D,我被迫在一个函数中完成这项工作,所以我不能将它分开,以后再调用它。。。例如,如果我有一个循环,循环服务器上的玩家,并添加除一个玩家以外的所有人,我希望它完成,然后将玩家1传送到随机玩家。目前,由于for循环,它每次都将Player1传送给随机玩家。。。我只给你们一点代码,因为它在预览中看起来很混乱,因为很多事情都和这个问题无关,可能会让你们感到困惑。。。这是: listica = [] for p1 in org.bukkit.
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))
我想要的是:
run for loop:
when there is no more players to add a.k.a it finishes
do try loop
另外,我不能单独做这件事
提前谢谢!: 你的意思是:
def func(args):
for item in loop:
do something
try: # note indentation
something else
哇,我想它会吐出一些缩进错误:哦,看起来我在文档中遗漏了一些东西,回到了基础上!:D非常感谢你!: