函数应该打印出所有长度为n位且包含k1的位vetcor。问题是我不能给函数一个空列表作为输入。你知道吗
我正在Ubuntu上工作并使用Python3.6。我也尝试过使用像[1]这样的非空列表,但这会引发相同的错误。 当试图在函数外找到一个空列表的长度时,它会正常工作:len([])返回0。你知道吗
这是我的密码:
def bitvector(n, k, vektor):
if len(vektor) == n:
if vektor.count(1) == k:
print(vektor)
bitvector(n, k, vektor.append(0))
bitvector(n, k, vektor.append(1))
bitvector(1, 2 , [])
编辑:
def bitvector(n, k, vektor):
if len(vektor) > n:
return
if len(vektor) == n:
print("test")
if vektor.count(1) == k:
print(vektor)
return
bitvector(n, k, vektor.append(1))
bitvector(n, k, vektor.append(0))
bitvector(1, 2 , [])
它应该获取列表的长度,但却抛出以下错误:
TypeError:类型为“NoneType”的对象没有len()
因为我不局限于使用某种类型,所以我选择使用字符串而不是列表。你知道吗
编辑、优化我的代码:
相关问题 更多 >
编程相关推荐