-2

问题 1. 当我运行代码 ( http://codepad.org/kAADoUks ) 时,我收到一个错误,即第 129 行缺少 1 个参数。“问题,答案 = 转换(片段,短语)”

我检查了无数次代码,但我不知道如何修复它。做错了什么?

  1. Python 如何知道代码在命令行上可以接受超过 2 个参数

  2. convert(snippet, phrase) 是预定义的 Python 函数吗?

  3. 这些符号“###”、“ * ”是什么?它们在 Python 中是如何调用的?他们是占位符吗?

  4. “片段”未在代码中声明为总体/列表单词。Python 解释器如何知道“snippet”指的是列表 WORDS?“片段”是一种特殊的 Python 内置元素吗?

  5. "for i in range(0, snippet.count("@@@")):"(第 75 行)URL 文件中没有 "###"、" "、"@@@" 符号:如何当源文件中没有“###”或“”时,Python解释器能够计算“###”或“”的数量吗?

  6. 第 85 行的代码是如何工作的?“for sentence in snippet, phrase:” 是“sentence” 循环遍历 2 个不同的列表吗?我在代码中没有看到“片段”和“短语”被定义为列表的任何地方。

  7. 变量“问题”和“答案”具有相同的值。第 135 行中的 if 子句的目的是什么?

4

1 回答 1

1

以艰难的方式学习代码。

这一切不都已经名存实亡了吗?

本着善意的精神回答您的一些问题:

  1. python不知道,有问题的代码应该检查参数的数量

  2. 不,convert 不是 Python 中的预定义函数

  3. “#”是一个数字符号,也称为哈希键,它们用于Python中的注释,但在这种情况下它们只是字符串数据的一部分,我想这些是你的功课。

  4. 片段在 Python 中不是任何特殊名称

  5. 你的工作是弄清楚我想

  6. 第 85 行的代码只循环了 2 个项目,片段和短语,类似for i in x, y: foo(i)的代码只是foo(x); foo(y). 你是对的,在这种情况下它有点假。我想纠正这个代码是你的功课,这样它才能真正做一些有用的事情。它被称为以困难的方式学习代码是有原因的,对吗?

  7. 嗯?135还是137?

  8. 您没有询问的异常,很可能是临时网络错误,我没有得到这样的异常。

于 2012-09-30T16:17:38.127 回答