如何检查python中是否缺少测试用例中的第二个参数?

2024-09-27 00:13:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下Python代码:

test.assert_equals(string_chunk('everlong'), ['everlong']);

def string_chunk(string, n):
    s=[]    
    i=0
    if n<=0 or n==[]or n==None:
        return []
    elif n>len(string):
       return [string]
    else:   
        for i in range(0,len(string),i+n):
             s.append(string[i:i+n])
        return s    

代码应该返回一定大小的字符串块n,并且还应该检查n是否为空或者没有作为参数传递。它给出了一个错误string_chunk()正好取2个参数(1个给定)。如何提供一个默认参数,以便用一个或两个参数调用它?你知道吗


Tags: or代码testnone参数stringlenreturn
1条回答
网友
1楼 · 发布于 2024-09-27 00:13:05

这与测试用例、测试或您正在尝试的断言无关。你知道吗

你的代码只是失败了,因为你的函数string_chunk需要两个参数,而你只需要给它一个。你知道吗

如果希望n成为可选参数,请使用默认值:

def string_chunk(string, n=None):
    if not n or n < 0:
        return []
    # rest of the logic here

not n将说明n的所有错误值情况,其中None、0或空列表[]。你知道吗

编辑:

从你的评论来看,我想你真的想要

return [string]

而不是

return []

不过,我只能猜测,你的规格不清楚。你知道吗

相关问题 更多 >

    热门问题