我一直在使用Python开发这个简单的程序,因此我可以开始尝试使用Python,并且通过以其他人可以在其中使用它们的方式设计它们,从而更好地了解Python和其他编程语言。高效的方式,而不会陷入使代码工作的部分。我通过一个简单的程序来计算"三角形中的角度"因为它是一个简单的主题。最近,我用if语句替换了def():命令,因为它将键入减少到最小并且使其他人更容易,但是当我尝试运行此代码时,我得到语法错误消息,其中N在第17行突出显示。
def triangle():
N = int(input("Please enter the number of angles you currently have between 1 and 3: "))
if N == 1:
a = int(input("What's one of the angles?"))
b = int(input("What's the other angle in the triangle?"))
c = a + b
f = 180 - c
print(f)
print("If you'd like to continue, please type in triangle()")
elif N == 2:
a = int(input("What's the value of angle 1?"))
b = 180 - a
c = b /2
print(c)
print("If you'd like to continue, please type in triangle()")
else N == 3:
a = 180
b = 180 / 3
print(b)
print("If you'd like to continue, please type in triangle()")
但是我在elif N == 3上返回了语法错误: 任何提示都会很棒。
答案 0 :(得分:2)
其他没有条件..删除它只是说
else:
或者说它
elif N == 3:
答案 1 :(得分:1)
你有else N == 3:
。这不是if..elif..else
结构的工作原理 - 如果前面的else
或if
条件都不满足,则elif
是一个全能分支。如果您要专门检查N == 3
而没有其他值,请使用elif N == 3
。如果您想要一个包罗万象的条件,只需使用else:
。
答案 2 :(得分:0)
elif N == 3:
您的意思是elif
(适用于else..if
的Python)或else
如果你的意思是else
,那就没有条件。
如果您想注释else
意味着某个条件已满足,那么我会使用注释:
else: # N == 3
但那被认为是不好的风格:只有当你确定N不能拥有除1,2,3之外的任何其他值时才这样做。在您的情况下,用户还可以输入任意数字4,5,..,9(或者实际上是10或更大,或者实际上是0或任何负数),这将错误地由N == 3分支处理。
如果您的最后一个分支elif N == 3
,没有else
- 子句,则无效的数字将无声地失败树中的每个分支。
因此,为了完整性和完整性检查,您可能更愿意这样做:
...
elif N ==3:
# Handle N == 3 case
else:
print "Invalid number!"