Python TypeError:generate#u input()缺少1个必需的位置参数:';n';

Python TypeError:generate#u input()缺少1个必需的位置参数:';n';,python,python-3.x,Python,Python 3.x,我想制作基于Python的fuzzer。所以我运行了一个简单的例子,我得到了一个错误 我正在执行下面链接上的代码。 在我看来,这不是重新申报班级的问题。当前发布在stackoverflow上的问题没有帮助。请帮帮我 代码如下: import sys from mph.program import Program from fuzzbang.alphanumericfuzzer import AlphaNumericFuzzer def generate_input(n): """

我想制作基于Python的fuzzer。所以我运行了一个简单的例子,我得到了一个错误

我正在执行下面链接上的代码。

在我看来,这不是重新申报班级的问题。当前发布在stackoverflow上的问题没有帮助。请帮帮我

代码如下:

import sys
from mph.program import Program
from fuzzbang.alphanumericfuzzer import AlphaNumericFuzzer

def generate_input(n):
    """
    Returns an alphanumeric string with a length no greater than n.
    """
    fuzzer = AlphaNumericFuzzer(0, n)

    return fuzzer.generate()

if __name__ == '__main__':
    # usage
    if len(sys.argv) != 3:
        print("usage: python3 fuzztut.py num_cases max_length")
        exit(1)

    # command-line arguments    
    num_cases = int(sys.argv[1]) # number of test cases to run
    max_length = int(sys.argv[2]) # maximum length of each string

    results = [] # list for storing the result of each test

    # main loop
    for i in range(num_cases):
        input = generate_input() # generate input string
        return_value = run(input) # run name with our input

        # save test results to our global results list
        test_result = {}
        test_result["num"] = i
        test_result["input"] = input
        test_result["output"] = return_value
        results.append(test_result)

    # print summary
    for test in results:
        print("Case #{:d}:".format(test["num"]))
        print("    IN: " + test["input"])
        print("    OUT: {:4d}".format(test["output"]))
        print("\n")
类(包括另一个文件)

结果:

$ python3 fuzztut.py 10 32
Traceback (most recent call last):
  File "fuzztut.py", line 40, in <module>
    input = generate_input() # generate input string
TypeError: generate_input() missing 1 required positional argument: 'n'
$python3 fuzztut.py 10 32
回溯(最近一次呼叫最后一次):
文件“fuzztut.py”,第40行,在
输入=生成输入()#生成输入字符串
TypeError:generate_input()缺少1个必需的位置参数:“n”

在代码中有行

# main loop
for i in range(num_cases):
    input = generate_input() # generate input string
    ...
根据函数
generate_input()
的定义,您需要提供一个参数
n

因此,您的代码必须如下所示,为函数调用提供数字或变量:

input = generate_input(10)

正如错误所说,该函数需要将n传递给它,而您没有传递任何东西。
def generate_input(n):
    """
    Returns an alphanumeric string with a length no greater than n.
    """
    ...
input = generate_input(10)