Python 递归函数返回冗余的打印语句

Python 递归函数返回冗余的打印语句,python,Python,我有一个简单的python应用程序,它从10倒计时到0。我有它的工作,除了它打印打印信息10次。 这是我的密码: 倒计时.py: counter.py: 这是我在控制台窗口接收到的信息 ('T equal:', 10) ('T equal:', 9) ('T equal:', 8) ('T equal:', 7) ('T equal:', 6) ('T equal:', 5) ('T equal:', 4) ('T equal:', 3) ('T equal:', 2) ('T

我有一个简单的python应用程序,它从10倒计时到0。我有它的工作,除了它打印打印信息10次。 这是我的密码:

倒计时.py:

counter.py:

这是我在控制台窗口接收到的信息

('T equal:', 10)

('T equal:', 9)

('T equal:', 8)

('T equal:', 7)

('T equal:', 6)

('T equal:', 5)

('T equal:', 4)

('T equal:', 3)

('T equal:', 2)

('T equal:', 1)

BlastOff

('Existing from countdown(', 0, ')')

('Existing from countdown(', 0, ')')

('Existing from countdown(', 1, ')')

('Existing from countdown(', 2, ')')

('Existing from countdown(', 3, ')')

('Existing from countdown(', 4, ')')

('Existing from countdown(', 5, ')')

('Existing from countdown(', 6, ')')

('Existing from countdown(', 7, ')')

('Existing from countdown(', 8, ')')

('Existing from countdown(', 9, ')')

Press any key to continue . . .
如何防止多个“Existing from countdown”?

如果在else:子句中添加return语句,将避免打印大多数现有打印输出

   else:
        print ('T equal:', a)
        a -= 1
        return self.counter(a)
“从倒计时开始存在”,0将在程序中打印两次。 一次,当a==0时,再次当a==1时

这是因为在递归调用之前设置了a=-1,所以在打印之前将1设置为0


相反,您可能要做的是删除a-=1并调用self.countera-1,而不是在当前范围内更改a的值。

counter.counter.counter10?!此外,由于main总是返回None,因此sys.exit没有任何意义。回答你的实际问题:把那条线移到别的地方?谢谢你的建议。我执行了你的建议,但我仍然看到重复的建议。所以我尝试了下面罗布的建议,效果很好。
('T equal:', 10)

('T equal:', 9)

('T equal:', 8)

('T equal:', 7)

('T equal:', 6)

('T equal:', 5)

('T equal:', 4)

('T equal:', 3)

('T equal:', 2)

('T equal:', 1)

BlastOff

('Existing from countdown(', 0, ')')

('Existing from countdown(', 0, ')')

('Existing from countdown(', 1, ')')

('Existing from countdown(', 2, ')')

('Existing from countdown(', 3, ')')

('Existing from countdown(', 4, ')')

('Existing from countdown(', 5, ')')

('Existing from countdown(', 6, ')')

('Existing from countdown(', 7, ')')

('Existing from countdown(', 8, ')')

('Existing from countdown(', 9, ')')

Press any key to continue . . .
   else:
        print ('T equal:', a)
        a -= 1
        return self.counter(a)