2013-10-04 132 views
0

while循环和用户输入我有一个度分秒转换为十进制度的脚本,我有这个while循环的麻烦:麻烦与蟒蛇

lat_dir = raw_input("For your latitude coordinates, please enter N for northern hemisphere or S for southern hemisphere: ") 

while lat_dir <> "N" or lat_dir <> "S": #check input to confirm lat_dir = N or S 
    lat_dir = raw_input("Please enter N for northern hemisphere or S for Southern hemisphere: ") 

我还用一个非常相似的,而环东西方,它给了我同样的问题。我希望它循环直到给出正确的输入,但是如果我使用这样的while循环,无论如何它都不会跳出循环。我也尝试过一个if循环,只要你给出“N”或“S”,它就会工作,否则它将在稍后的脚本中出错。否则,我的代码完美运行。

+0

不知道python,但你不需要==而不是<>在你的条件? – JCLL

+1

@JCLL''''是Python中的有效运算符。它相当于'!='或'不等于'。 – Shashank

+1

循环不终止,因为诸如'x <>“N”或x <>“S”'的条件将始终为真。如果'x'为'“N”'那么条件为'False或True',即'True'。如果'x'为'“S”',那么条件为'True或False',即'True'。如果'x'为'“Z”'则条件为'True或True',即'True'。 – AdrianHHH

回答

2

你应该使用而不是或在你的支票。

while lat_dir <> "N" and lat_dir <> "S":