0

我对 elif 语句中的 Y 和 N 选择有疑问。如果我输入 n 它正确输出 n 的 elif 选择,但如果我输入 y 它仍然输出 n 选择而不是 elif 选择 y。我不知道它为什么这样做。对代码感到抱歉,如果错误很清楚,我是 python 新手。
我已经检查了选择,它确实保留了 n 或 y 的选择,但即使输入了 y 也只会执行 n。

if os.path.exists('ExifOutput.txt'): 
                    print "The file appears to already exist, would you like to overwrite it?" 
                    Choice = raw_input("Y/N : ") 
                    if not re.match("^[Y,y,N,n]*$", Choice): 
                        print "Error! Only Choice Y or N allowed!" 
                    elif len(Choice) > 1: 
                        print "Error! Only 1 character allowed!" 
                    elif not Choice:
                        print "No choice made" 
                    elif Choice == 'N' or 'n': 
                        print "Save the old file to a different directory and try again"
                        ExifTags()
                    elif Choice == 'Y' or 'y':
                        print "The file will be overwritten by a new one"
                        ExifRetrieval(listing, FileLocation)
                        print "Completed" + "\n"
                else:
                    ExifRetrieval(listing, FileLocation)
                    print "Completed" + "\n"
4

2 回答 2

4

Choice == 'N' or 'n'始终为真(与 相同(Choice == 'N') or 'n')。你想要Choice in ('N', 'n')

于 2012-04-27T13:55:38.143 回答
0
elif Choice == 'N' or Choice == 'n':

或者

elif Choice in ("N","n"): 
于 2012-04-27T13:56:36.350 回答