<p>我正在尝试解决一个家庭作业问题:</p>
<hr/>
<p>纳庇勒山脉的第一批探险家,在闲暇时间,以
喊着不同的短语,听回声的声音。在他们的游戏中,他们注意到
第一个回声总是原始短语的一小部分,第二个回声是原始短语的一小部分
第一次回音,一直到一切都静了下来。
例如,在Napieuler地区,分数约为0.368</p>
<p>当喊一个100秒长的短语时,第一个回声是100*0.368秒长。
第二个是100*0.368*0.368,以此类推,直到看不见为止。
写一个程序,在文本中,近似于纳皮尔勒山脉的回声。
程序必须通过控制台接收它想要接收的回声的特征部分
近似值(作为一个十进制数)。
然后程序必须调用一个递归函数,您应该收到一个短语。
最后,您应该打印出短语的所有回声,包括原始短语
一个人类。你还必须显示总的重复,包括原来的短语。
由于你不容易计算出一个书面短语的时长,你可以假设
字母需要固定的时间,包括空格和标点符号。将乘法取整为
非整数结果。
如果您在不调用递归函数的情况下正确地执行程序,则在
问题</p>
<p>你的职能需要</p>
<h2>示例:</h2>
<pre><code>Enter the fraction: 0.369
Enter the sentence: I love mac and cheese
I love mac and cheese
cheese
se
</code></pre>
<h2>回声总数:3</h2>
<pre><code>Enter the fraction: 0.369
Enter the sentence: Today it is not a beautiful spring day. I wish ot was.
Today it is not a beautiful spring day. I wish ot was.
day. I wish it was.
it was.
s.
Total of echoes: 4
</code></pre>
<hr/>
<p>我已经开始写代码了,但是我一直收到一个堆栈溢出错误。任何帮助都将不胜感激</p>
<p>不断产生堆栈溢出错误的代码:</p>
<pre><code>def echo(a,b):
if len(b)>=2:
return [b]+echo(a,b[(-(int(len(b)*a))):])
else:
return []
print(echo(0.369,"I love mac and cheese."))
</code></pre>