Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python“if”语句_Python_If Statement_Python 3.3_Statements - Fatal编程技术网

Python“if”语句

Python“if”语句,python,if-statement,python-3.3,statements,Python,If Statement,Python 3.3,Statements,我正在做一项作业,我需要进行一次测验。到目前为止,这是我代码的一部分 answer = input("Your answer: ") guessesTaken = 0 points = 0 if answer == 'Call Of Duty' or answer == 'Call of duty' or answer == 'Call of duty' or answer == 'a)' or answer == 'call of duty' or answer == 'a': pri

我正在做一项作业,我需要进行一次测验。到目前为止,这是我代码的一部分

answer = input("Your answer: ")
guessesTaken = 0
points = 0
if answer == 'Call Of Duty' or answer == 'Call of duty' or answer == 'Call of duty' or answer == 'a)' or answer == 'call of duty' or answer == 'a':
    print("You are correct!")
    points = points + 2
    print("You scored two points!")
else: 
    guessesTaken = guessesTaken + 1
    print("Incorrect!")
    print("You have", guessesTaken, "guess remaining!")
answerb = input("Your answer: ")
if answerb == 'Call Of Duty' or answerb == 'Call of duty' or answerb == 'Call of duty' or answerb == 'a)' or answerb == 'call of duty' or answerb == 'a':
    points = points + 1
    print("You scored one point!")

如果回答B,我会得到一个错误。我不明白为什么会出现这个错误。代码的这一部分旨在为您答对的每个问题打分。记分制如下:第一次答对2分,第二次答对1分,第三次答对0分。我想使用answerb可以让我再试一次,得到1分。如果你能给我解释一下,我以后就不会再这样做了

就像minitech建议的那样,您可能只是缩进了answerb=input。。。太远了。 我稍微修改了您的代码:

maxGuesses = 2 #Max number of attempts for the problem
guessesTaken = 0
points = 0
while guessesTaken<maxGuesses:
    answer = input("Your answer: ")
    if answer.lower() == 'call of duty' or answer.lower() == 'a' or answer.lower() == 'a)':
        print("You are correct!")
        points = points + maxGuesses-guessesTaken
        print("You scored %d points!" %(maxGuesses-guessesTaken))
        break
    else:
        print("Incorrect")
        print("You have %d guesses remaining!" %(maxGuesses-guessesTaken-1))
        guessesTaken += 1

注释中的错误表示在第28行您正在检查尚未设置的变量。您的帖子中的匹配行似乎是13。在第12行中,您似乎正在设置变量。也许可以尝试将你的帖子粘贴回你的编辑,然后再试一次。发布的代码似乎在试图正确访问变量之前设置了该变量

请告诉我们错误消息和错误位置。告诉我们您的代码打算做什么?欢迎使用堆栈溢出!谢谢你发布你的代码,但是请在你的问题中多加一点描述:你有什么问题,你期望的结果是什么,到目前为止?仔细阅读这篇文章将有助于我们更好地回答你的问题。谢谢提示:如果answer.lower==‘使命召唤’是您的答案,那么使用起来会更容易。b=输入…行可能比您想象的缩进得更远?使用此代码,第一次尝试猜到正确答案的分数会是2分,第二次尝试是1分,第三次尝试为0,还是我应该在自己身上加上?第一次尝试为2分,第二次为1分,第三次为0分。