ExtensionKey[T <: Extension]()(implicit m: ClassTag[T])
此代码的错误是
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)
如果有人知道我做错了什么,我真的很感激!谢谢 :)。对不起,如果这对编码来说真的很蠢!
答案 0 :(得分:0)
for a in num_cycles:
无法正常工作,因为num_cycles
是一个数字,而for
循环没有任何内容可以循环播放。 range(num_cycles)
将从num_cycles
更改为[{1}}循环可以迭代的[0,1,... num_cycles]列表。
正如@smarx所述,您将要删除该行:
for
这是因为你编写了一个递归函数,它将继续调用自身。
答案 1 :(得分:0)
您正在混合递归和迭代。 你将获得无限循环!
另外,你做不到
for a in b:
如果两者都是整数。你必须使用
for a in xrange(0, b):
迭代b。 大多数人都不关心他们是使用xrange还是范围,但是对于循环,xrange稍快一些。
这是您的解决方案。
def shampoo_instructions(num_cycles):
if num_cycles < 1:
print("Too few.")
elif num_cycles > 4:
print("Too many.")
else:
for a in xrange(0, num_cycles):
print(num_cycles,": Lather and rinse.")
print("Done.")
shampoo_instructions(2)