我定义了一个输出要打印列表的函数。 然后我想将该列表与代码中的其他列表len(l2)进行比较,但是我不断收到此错误,即我定义的函数的输出为NoneType,并且无法与整数进行比较,我该如何解决此问题?我是编程新手,所以请简单回答
l = []
for i in range(0, 3):
x = int(input())
l.append(x)
def prime_counter(n):
b = 1
l1 = []
while b <= n:
k = 0
if n % b == 0:
j = 1
while j <= b:
if b % j == 0:
k = k + 1
j = j + 1
if k == 2:
l1.append(b)
b = b + 1
for i in range(0, len(l)):
l2 = []
if len(prime_counter(l[i])) > len(l2):
l2.extend(prime_counter(l[i]))
print(l2)
答案 0 :(得分:0)
如果函数中没有任何return
语句,则会自动返回None
。因此,您需要从函数中返回一些对象,该函数的调用者可以进一步使用该对象。
这是在您的prime_counter
函数中发生的;您应该从中返回l1
列表,但没有返回任何保证len(None)
的错误,因为None
单身人士没有任何长度与之相关。
您需要从l1
返回prime_counter
列表:
def prime_counter(n):
b = 1
l1 = []
while b <= n:
...
...
return l1