如何在python函数中添加可选的分隔符?

时间:2019-04-15 17:14:57

标签: python python-3.x arguments range

目前,我有一个工作范围函数,可以接受并输出前3个参数,但是我对如何添加分隔符/结束符的可选第4个参数一无所知。我不确定是否应该使用sep或end。

def Practice(start, stop, step):
for i in range(start, stop+1, step):

    if i%step == 0:

        print(i, end=' ')

因此,如果用户在外壳程序中输入:Practice(4,24,4) 它将打印:4 8 12 16 20 20

3 个答案:

答案 0 :(得分:0)

尝试一下: 在下面的代码中,如果不传递任何值,则step的默认值为4

e.g.1  rangePractice(4,24) # will have step=4 and separator = "  "
e.g.2  rangePractice(4,24,5) # will step=4 and separator = "  "
e.g.3  rangePractice(4,24,4, "-") # will have step=4 and separator = "-"
def rangePractice(start, stop, step=4, separator = "  "):
    for i in range(start, stop+1, step):
        if i%step == 0:
            print(i, end=separator)

答案 1 :(得分:0)

sep用于分隔参数,end用于分隔最后一个参数。它们由print函数使用。

>>> print('boa', 'cat', 'dog', sep='=>', end='!!!\n')
boa=>cat=>dog!!!

因此,您的程序中需要end。如果您使用sep,则end将被视为\n,并且所有行将以新行打印。

def rangePractice(start, stop, step, separator = "  "):
    for i in range(start, stop+1, step):
        if i%step == 0:
            print(i, end=separator)

我建议练习这些事情,而不必从stackoverflow中获取汤匙,这将增进您的知识。

答案 2 :(得分:-1)

让参数具有默认值。 (可选)您可以在功能主体中检查用户是否传递了自己的参数(但这不是您的用例所必需的)。

def rangePractice(start, stop, step, separator=' '):
  for i in range(start, stop+1, step):

    if i%step == 0:

        print(i, end=separator)