def shampoo_instructions(num_cycles):
if num_cycles < 1:
print("Too few.")
elif num_cycles > 4:
print("Too many.")
else:
for a in num_cycles:
print(num_cycles,": Lather and rinse.")
print("Done.")
return shampoo_instructions(num_cycles)
shampoo_instructions(2)
此代码的错误是
Traceback (most recent call last):
File "main.py", line 18, in
shampoo_instructions(2)
File "main.py", line 11, in shampoo_instructions
for a in num_cycles:
TypeError: 'int' object is not iterable
如果有人知道我做错了什么,我会非常感激的
for a in num_cycles:
不起作用,因为num_cycles
是一个数字,并且for
循环没有可迭代的内容range(num_cycles)
将从num_cycles
变为for
循环可以迭代的[0,1,…num_循环]列表正如@smarx所述,您需要删除该行:
这是因为您编写了一个递归函数,在该函数中,它将在一段时间内不断调用自己
您正在混合递归和迭代。 你将获得一个无止境的循环
还有,你不能这样做
如果两者都是整数。你必须使用
在b上迭代。 大多数人不在乎他们使用的是xrange还是range,但对于循环,xrange稍微快一点
这是你的解决方案
相关问题 更多 >
编程相关推荐