此for循环运行一次,但第二次不再运行。
我到处都放置了print()语句以确认:
-round = 2,第二遍。
-循环在第二遍到达“ for”语句,但是我在“ doChecks = True”之前输入的“ print”语句没有触发。
-ClockCheck()没有影响;第一次会完美地触发,而不是第二次。
我已经工作了大约20个小时,我想我必须丢失一些明显的东西。我要睡觉了,这样我就可以在早上重新开始攻击...希望对其他人来说很明显吗?
def scoreThisRound(answerKey, round):
global stopTime
global gameInProgress
userInput = [] #Initialize user input list
for i in range(round): #This is not starting a second loop!
doChecks = True
if clockCheck(): #If there is still time remaining
userInput.append(input(">")) #Get user input and add it to a list.
else:
print("ClockCheck Failed @ ScorethisRound")
gameInProgress = False
doChecks = False
if doChecks == True:
for i in range(len(answerKey)):
if answerKey[i] == userInput[i]:
print("Good Answer!") #change this code to add time
stopTime += 1.5
else:
print("Bad Answer!") #change this code to subtract time
stopTime -= 3
这是控制台的输出:
答案 0 :(得分:0)
解决了,这很明显。我的“ if doChecks”语句的选项卡太过分了;这就是为什么它第一次运行良好(回合=答案=用户输入),但是第二次循环运行了(2 = 2 = 1),并引发了异常。
经验教训:
1)睡觉。这一点很重要。 2)需要获得一个IDE,该标签将制表符和空格显示为除空格以外的东西,这对我来说有点融合。
谢谢!