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

时间:2018-08-29 16:44:46

标签: python python-3.x function arguments range

我是编程的新手(刚刚了解了命令行是什么);没有以前的经验,只是找到这个网站,所以请原谅任何格式错误。

我真的很难为函数添加参数。具体来说,我需要在我创建的函数中添加一个参数,在该函数中我将返回一个增量为5的范围。由于超出了我当前技能水平的原因(我敢肯定,对于你们来说这很明显),我无法使用main函数将fname函数中的51替换为101。从本质上讲,我必须为fname提供范围上限的参数。从主函数中,我必须将101的值传递给fname函数,以便fname返回[0、5、10,...,100]到主函数,然后主函数将其打印到屏幕上。

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()

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

3 个答案:

答案 0 :(得分:2)

请注意,您没有使用在函数主体中添加的参数。从文档字符串来看,我假设您想使范围的上限灵活。尝试按以下方式操作:

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)

答案 1 :(得分:0)

我认为您正在寻找的诀窍是拥有函数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,并且要针对不同的结束值执行此操作,则可以将limit作为参数(因为这是变化的部分),并在在函数中的正确位置。

希望有帮助!

答案 2 :(得分:0)

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

print(fname(0,51,5))

在上面的代码中,函数fname以“ inc”为增量从“ start”到“ end”返回值列表

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