我在python中很新,我收到了这个错误,无法摆脱它。我阅读了文档和教程,但我只是看不出问题出在哪里。这是错误:
Caused by: SyntaxError: ("no viable alternative at input 'if'" , ('<iostream>', 107, 14, ' if b.getType() != Material.WATER:\n'))
这是我的代码:
removable = True
ticker_vertical = 0.0
ticker_horisontal = (random.random() * 2 * math.pi)
l = sender.getLocation()
b = l.getBlock()
entity = l.getWorld().spawnFallingBlock(l, b.getType(), b.getData())
if args[0] == "spawn":
if l.getBlock().getType() != Material.AIR:
entity.setMetadata("vortex", FixedMetadataValue(PyPlugin, "protected")
if b.getType() != Material.WATER: #this is line which is causing error
b.setType(Material.AIR)
else:
pass
else:
pass
l = sender.getLocation()
radius = math.sin(ticker_vertical * 2)
v = Vector(radius * math.cos(horisontal), 0.5, radius * math.sin(horisontal))
b1 = entity.getLocation().add(v.clone().normalize()).getBlock()
if b1.getType() != Material.AIR:
new_blocks.add(b.getLocation(), b.getType(), b.getData())
entities = entity.getNearbyEntities(1.0, 1.0, 1.0)
for e in entities:
if e.hasMetaData("vortex"):
new_blocks.add(entity)
entity.setVelocity(v)
if ticker_vertical < 1.0:
ticker_vertical += 0,05
elif args[0] == "stop":
entity.remove()
提前致谢!
答案 0 :(得分:2)
你在第9行错过了一个右括号:
entity.setMetadata("vortex", FixedMetadataValue(PyPlugin, "protected")
应该是:
entity.setMetadata("vortex", FixedMetadataValue(PyPlugin, "protected"))
答案 1 :(得分:1)
看看前一行;你错过了)
右括号:
entity.setMetadata("vortex", FixedMetadataValue(PyPlugin, "protected")
# ^--- closes there ----^
# ^ --- open but no close --^
进一步向下使用逗号而不是小数点:
if ticker_vertical < 1.0:
ticker_vertical += 0,05
你可能想要:
if ticker_vertical < 1.0:
ticker_vertical += 0.05
您可以(并且应该)删除所有:
else:
pass
行,他们什么都不做,不需要。