Udacity python 编写测验
Udacity python code a quiz
我目前正在做优达学城的编程开发入门课程。作为本课程的一部分,我必须创建一个填空游戏。游戏结构如下:
要求用户根据难度选择一个级别。一旦用户决定 he/she 想要玩的级别,参数:问题、该问题的答案、空白列表和索引 0 将传递给函数 问题验证.
在问题验证函数中。我们根据索引评估用户输入是否与答案中包含的内容相匹配。例如,如果我正在填写第一个空白,那么我的答案(输入)必须等于答案 [0] 的答案。如果没有,则用户有 4 次尝试来正确处理。如果用户不这样做,则游戏退出。一旦用户选择了正确的答案,它就会传递给函数 traverse.
这是问题验证的代码
https://www.dropbox.com/sh/e5doud7wt2awlfo/AACoMdohawZj54RwjIWvtAKda?dl=0
函数遍历接受参数:问题;该问题的答案清单;和索引作为参数。 根据此信息,此函数将相应地填写问题空白并将其传递回 问题验证 供用户填写下一个空白。当所有的空格都填满后,程序停止。
这是遍历的代码
https://www.dropbox.com/s/w4cra1hah5xww9q/traversefunct.py?dl=0
我在我的代码中写了评论,进一步详细说明了我在这里概述的内容。
这里是完整的代码
https://www.dropbox.com/s/npendg2ey63e8rr/codeaquiz.py?dl=0
该代码似乎工作正常,并按照我的要求执行,直到填充第 4 个空白为止。此时如果我选择了错误的答案然后返回并选择正确的答案。它承认我选择了正确的答案,但随后再次提示我输入答案。这是一个无限循环,我无法理解为什么它会在这里发生,而在填充以前的空白时它不起作用。
这是关于再次提示的截图:
https://www.dropbox.com/s/s8sk8r19gz4ued2/Screenshot%202018-04-27%2014.13.22.png?dl=0
我一辈子都看不懂为什么:
正如 zipa 指出的那样,您永远不会 break
在第 146 行的 else 语句中使用 while 循环,除非您 运行 超出 tries
。一行 "fix" 就是在 traverse()
函数中的第 98 行之后简单地放置一个 exit()
。
我目前正在做优达学城的编程开发入门课程。作为本课程的一部分,我必须创建一个填空游戏。游戏结构如下:
要求用户根据难度选择一个级别。一旦用户决定 he/she 想要玩的级别,参数:问题、该问题的答案、空白列表和索引 0 将传递给函数 问题验证.
在问题验证函数中。我们根据索引评估用户输入是否与答案中包含的内容相匹配。例如,如果我正在填写第一个空白,那么我的答案(输入)必须等于答案 [0] 的答案。如果没有,则用户有 4 次尝试来正确处理。如果用户不这样做,则游戏退出。一旦用户选择了正确的答案,它就会传递给函数 traverse.
这是问题验证的代码
https://www.dropbox.com/sh/e5doud7wt2awlfo/AACoMdohawZj54RwjIWvtAKda?dl=0
函数遍历接受参数:问题;该问题的答案清单;和索引作为参数。 根据此信息,此函数将相应地填写问题空白并将其传递回 问题验证 供用户填写下一个空白。当所有的空格都填满后,程序停止。
这是遍历的代码
https://www.dropbox.com/s/w4cra1hah5xww9q/traversefunct.py?dl=0
我在我的代码中写了评论,进一步详细说明了我在这里概述的内容。
这里是完整的代码
https://www.dropbox.com/s/npendg2ey63e8rr/codeaquiz.py?dl=0
该代码似乎工作正常,并按照我的要求执行,直到填充第 4 个空白为止。此时如果我选择了错误的答案然后返回并选择正确的答案。它承认我选择了正确的答案,但随后再次提示我输入答案。这是一个无限循环,我无法理解为什么它会在这里发生,而在填充以前的空白时它不起作用。
这是关于再次提示的截图:
https://www.dropbox.com/s/s8sk8r19gz4ued2/Screenshot%202018-04-27%2014.13.22.png?dl=0
我一辈子都看不懂为什么:
正如 zipa 指出的那样,您永远不会 break
在第 146 行的 else 语句中使用 while 循环,除非您 运行 超出 tries
。一行 "fix" 就是在 traverse()
函数中的第 98 行之后简单地放置一个 exit()
。