2013-05-08 49 views
0

我有在Python 3.3.1 这与我的函数/类的麻烦是代码:无效的语法(X =在功能无效)

def snell(ang1=None, ang2=None, v1=None, v2=None, n1=None, n2=None): 

    try: 
     if ang1==None and n1==None: 
      ang1=math.degrees(math.asin((math.sin(ang2)*v1)/v2) 
      n1=(n2*v1)/v2 
      print("ang1 is equal to:", ang1, sep='\n') 
      print("n1 is equal to:", n1, sep='\n') 

对不起,代码古怪分离,我我对此很新颖。在任何情况下,我只得到语法错误提示“无效语法”,并强调该行N1 =(N 2 * V1)/ V2变量N1。我想知道这个问题可能是什么,我认为没有错的代码的那SNIPPIT。这是更大的代码段的一部分,但其他部分所包含的elif的在这个if语句相同的格式众多。如果这个请求的任何部分是暴躁的,请告诉我如何改进它...非常感谢。

+0

总是看到前行,当你得到一个语法错误。 – agf 2013-05-08 02:05:01

+1

伟大的第一篇文章:) – nullptr 2013-05-08 02:06:51

回答

0

你缺少一个右)在这条线:

ang1=math.degrees(math.asin((math.sin(ang2)*v1)/v2))