ユーザー入力を取得して相互参照し、ファイル内にあるかどうかを確認しようとしています。ただし、forループは1回だけ実行されます。最初に正しく機能した場合、最初に間違った場合、forループは1回しか実行されないため、正しく機能しません。whileループを再実行すると、forループが再実行されることはありません。Pythonでループを1回しか実行できないのはなぜですか?これを修正するにはどうすればよいですか?これがコードです、
testDate = open("Sales.txt")
def DateTest(Position):
validSyntax = False
Complete = False
DateIn = True
while Complete == False:
if DateIn == False:
print
print "That date is not in the file."
print
Date = raw_input("Please input the desired %s date in the form YYYY,MM,DD: " % Position)
try :
Date = Date.strip().split(',')
Year = int(Date[0])
Month = int(Date[1])
Day = int(Date[2])
Date = (Year, Month, Day)
except:
print
print "That is invalid input."
print
else:
validSyntax = True
if validSyntax == True:
#It only runs this once, if I put a debug statement after the 'for' #then it never prints out, the loop never runs after the first time
for line in testDate:
line = line.strip().split(',')
yearTest = int(line[0])
monthTest = int(line[1])
dayTest = int(line[2])
dateTest = (yearTest, monthTest, dayTest)
if Date == dateTest:
Complete = True
print 'success'
DateIn = False
validSyntax = False
Response = DateTest("start")