关于#python#的问题,如何解决?

函数main()接收两个自然数start和end作为参数,要求返回[start,end]区间内有多少个整数中含有数字8。例如main(1, 10)返回1,main(1, 100)返回19,main(100, 998)返回252。
不能导入任何模块,不能使用关键字for和while。

只能用递归了

def main(start,end):
    count = 1 if '8' in str(start) else 0
    return count if start==end else count+main(start+1,end)
    
print(main(1,10))
print(main(1,100))
print(main(100,998))

结果:

1
19
252