Python 创建函数,将参数添加到范围

Python 创建函数,将参数添加到范围,python,python-3.x,function,arguments,range,Python,Python 3.x,Function,Arguments,Range,我是编程方面的新手(刚刚学会了什么是命令行);没有以前的经验,只是发现这个网站,所以请原谅任何格式错误 我真的很难在函数中添加参数。具体地说,我需要向我创建的函数添加一个参数,在该函数中,我返回一个增量为5的范围。出于超出我当前技能水平的原因(但我敢肯定,这对你们来说是显而易见的),我不能使用main函数将fname函数中的51替换为101。本质上,我必须给fname一个范围上限的参数。从main函数,我必须将101的值传递给fname函数,以便fname将[0,5,10,…,100]返回给ma

我是编程方面的新手(刚刚学会了什么是命令行);没有以前的经验,只是发现这个网站,所以请原谅任何格式错误

我真的很难在函数中添加参数。具体地说,我需要向我创建的函数添加一个参数,在该函数中,我返回一个增量为5的范围。出于超出我当前技能水平的原因(但我敢肯定,这对你们来说是显而易见的),我不能使用main函数将fname函数中的51替换为101。本质上,我必须给fname一个范围上限的参数。从main函数,我必须将101的值传递给fname函数,以便fname将[0,5,10,…,100]返回给main函数,并且main函数将其打印到屏幕上

def fname(arg1):
    """this function will compute a range from 0 to 50 in increments of 5"""
    result = list(range(0, 51, 5))
    return result


def main():
    arg1 = list(range(0, 101, 5))
    from_fname_function = fname(arg1)
    print(from_fname_function)

if __name__ == '__main__':
    main()

任何帮助(详细解释)都将不胜感激。我已经找到了很多关于如何在函数中使用参数的资源,但我不知道如何以这种方式更改范围中的最大限制。

请注意,您没有使用在函数体中添加的参数。从docstring判断,我假设您希望使范围的上限变得灵活。按以下思路尝试某事:

def fname(arg1):
    # actually use the argument to build the range
    result = list(range(0, arg1, 5))  
    return result

def main():
    arg1 = 101
    from_fname_function = fname(arg1)
    print(from_fname_function)

我认为您要寻找的技巧是让函数
fname
能够返回从零开始,以5为增量的列表,直到您选择的任何限制。你真的很接近;在设置范围时,只需使用参数
arg1
,如下所示:

def fname(arg):
    return list(range(0, arg, 5))
现在,您可以使用该功能创建许多不同的列表:

def main():
    print(fname(51))      # this will print [0, 5, 10, ..., 50]
    print(fname(101))     # this will print [0, 5, 10, ..., 100]
    print(fname(10))      # this will print [0, 5]
函数参数的概念是,它们允许您创建一个函数,该函数可以在不同的时间使用不同的值执行某些操作。因此,如果您想创建从零开始,增量为5的列表,并且希望对不同的结束值执行此操作,那么您可以将限制设置为参数(因为这是更改的部分),并在函数中正确的位置使用参数

希望有帮助

def fname(start, end, inc):
    return list(range(start, end, inc))

print(fname(0,51,5))
在上面的代码中,函数fname返回从“开始”到“结束”的值列表,增量为“inc”

作品:
[0,5,10,15,20,25,30,35,40,45,50]

为什么不将
101
传递到
fname(arg1)
并将
51
更改为
arg1
?堆栈溢出不是编码或教程资源。请完成相关主题的教程;当你的问题更集中的时候再发一次。主页()上说这个网站是为了“询问关于……特定的编程问题、软件算法、编码技术和软件开发工具的问题”。它还说“[不要问]你没有试图找到答案的问题(展示你的工作!)”我认为我的问题符合这些标准,但如果不符合,我为我的困惑道歉。我非常感谢那些评论提供帮助的人。非常感谢。当我替换了您的建议,但将if/main语句保留在底部时,它给出了一个错误,其中提到了“最大递归深度”(但愿我复制了整个错误消息;我似乎不能让它再次发生)。我被告知if/main语句有助于在不自动运行函数的情况下调用/导入函数。为什么if/main会导致输出被重复?(不是最初的问题,如果需要在别处提问,我道歉)。您被告知的是正确的=)从给定的代码来看,它也与错误无关,因为它与递归没有什么关系。你需要看到触发错误的完整代码才能说得更多。