使用范围时我没有得到函数的打印结果
I don't get a print result of function when using range
为什么我在使用range()
时看不到函数的结果?我想创建一系列数字,其中每个数字都将在“colla”函数中进行评估。但是范围不适用于“colla”
def colla(num):
fin = []
while num != 1:
if num % 2 == 0:
num = num // 2
fin.append(0)
elif num % 2 == 1:
num = 3 * num + 1
fin.append(1)
counter = []
for Z in fin:
if Z == 0:
counter.append(Z)
return ("{:.0%}".format((len(counter)/len(fin))))
for i in range(5):
print(colla(i)) # here I have a problem!
您的 colla()
函数需要输入 2 及以上的数字。
试试这个:
for i in range(2,6):
print(colla(i))
请注意,调用 colla(0)
将导致无限循环,或者当 fin
被 0
填满时导致“内存不足”。同样调用 colla(1)
会导致 ZeroDivisionError
,因为 fin
将是一个空列表。
为什么我在使用range()
时看不到函数的结果?我想创建一系列数字,其中每个数字都将在“colla”函数中进行评估。但是范围不适用于“colla”
def colla(num):
fin = []
while num != 1:
if num % 2 == 0:
num = num // 2
fin.append(0)
elif num % 2 == 1:
num = 3 * num + 1
fin.append(1)
counter = []
for Z in fin:
if Z == 0:
counter.append(Z)
return ("{:.0%}".format((len(counter)/len(fin))))
for i in range(5):
print(colla(i)) # here I have a problem!
您的 colla()
函数需要输入 2 及以上的数字。
试试这个:
for i in range(2,6):
print(colla(i))
请注意,调用 colla(0)
将导致无限循环,或者当 fin
被 0
填满时导致“内存不足”。同样调用 colla(1)
会导致 ZeroDivisionError
,因为 fin
将是一个空列表。