【发布时间】:2020-07-16 20:55:02
【问题描述】:
enter code here如果不提供解决方案,有人可以帮助我理解如何表示这种模式。我认为您需要检查是否第 n + 1 > 第 n 个值递归。由于这不是一个列表,我认为我需要使用模数和地板除法来遍历列表。但是,只有两个返回语句,我不知道如何递归调用该函数并返回 True 和 False。
问题陈述: 孔号是一个数字,其中每隔一个数字下降到紧邻它的数字之下。例如,数字 968 将被视为一个洞号,因为数字 6 小于其周围的两个数字。假设我们只传入奇数位数的数字。定义以下函数,以便正确识别孔号。
def check_hole_number(n):
"""
>>> check_hole_number(123)
False
>>> check_hole_number(3241968)
True
>>> check_hole_number(3245968)
False
"""
if _________________________________________________________:
return _________________________________________________________
return ______________________________________________________________
我的解决方案:
def check_hole_number(n):
if n // 10 == 0:
return True
return (n % 10) > (n // 10 % 10) and (n // 10 % 10) < (n // 100 % 10) \
and check_hole_number(n // 100)
【问题讨论】:
标签: python list recursion tree