Python 该程序的哪一个输入将导致正确的验证?

Python 该程序的哪一个输入将导致正确的验证?,python,Python,我是python编程新手。我们的教授让我们写下我们认为这个问题的答案 “此程序的什么输入将导致正确的验证?” 我很困惑,不知道如何回答。我想我必须编译代码并运行它,看看是否有语法错误。有人能帮我吗 import sys def main(): if len(sys.argv) != 2: print "Invalid args" return password = sys.argv[1] builder = 0 for c in password: bu

我是python编程新手。我们的教授让我们写下我们认为这个问题的答案

“此程序的什么输入将导致正确的验证?”

我很困惑,不知道如何回答。我想我必须编译代码并运行它,看看是否有语法错误。有人能帮我吗

import sys

def main():
  if len(sys.argv) != 2:
    print "Invalid args"
    return
  password = sys.argv[1]
  builder = 0
  for c in password:
    builder += ord(c)
  if builder == 1000 and len(password) == 10 and ord(password[1]) == 83:
    print "correct"
  else:
    print "incorrect"

if __name__ == "__main__":
  main()

在没有给出答案的情况下浏览:

for c in password:
    builder += ord(c)
“ord()”接收字符并返回与该字符关联的值。然后我们将“builder”增加那么多

 if builder == 1000...
因此,一旦我们完成每个字符值的转换并将它们相加,我们需要得到1000

...and len(password) == 10...
密码长度也必须为10个字符

...and ord(password[1]) == 83:
最后,第二个字母的值必须为83。谷歌应该帮助你找出这一部分

顺便说一句

if len(sys.argv) != 2:
    print "Invalid args"

在args中读取时,第一个arg是文件名,因此基本上您不能使用“my cat is fat”密码。换句话说,它必须是一个“词”。

问题是;您可以传递给此程序的密码示例是什么,它将打印
正确的
。您应该遵循代码中的步骤(可能使用笔和纸),并尝试理解验证规则。不会要求您查找代码中的问题。代码工作,你应该知道它做什么。作为一个简单的例子,如果程序是
if a==3:print“correct”;否则:打印“不正确”
,答案将是
3