所以我有这个任务:
我不确定如何开始解决这个问题。我知道它几乎是一步一步的做法,但它有点令人困惑。这应该是用python编写的。也许我让它变得比它应该更难?任何帮助,将不胜感激。谢谢你们。
答案 0 :(得分:3)
我找到了包含此作业的书。
Introduction to Programming Using Python by Y. Daniel Liang
(好吧,由于只有这个片段继续下去,我实际上首先找到了这本书的PDF,但那里有本书的标题,所以我们在这里。)
它确实称自己为Python书。除了在OP的问题中给出的明确的非语言练习之外,它甚至还有关于尾部递归的整个部分(第15.11节)。它在该部分中首先说的是强调字体:
尾递归函数可有效减少堆栈大小。
我仔细研究了本节的其余部分,但从未提到Python 没有尾调用优化的事实。有关该决定的解释,请阅读Guido's blog post about it。
这本书于2013年出版,所以它不像过时或与不成熟的平台摔跤。我的理论是作者,一个" Java冠军"谁讲授Java,只是说带有非常重的Java口音的Python,结果几乎无法理解。
我对OP的建议是要求教师使用不同的教科书 - 例如official Python tutorials。
答案 1 :(得分:2)
我为你写了这门课:
class Fan(object):
SLOW = 1
MEDIUM = 2
FAST = 3
def __init__(self, speed=SLOW, on=False, radius=5.0, color="blue"):
self._speed = speed
self._on = on
self._radius = radius
self._color = color
访问者和变更者适用于Java人员。