题解 | #递归画图#

递归画图

https://www.nowcoder.com/practice/d01d668861f84471872ff0e9c958cae2

# 参数从小到大的递归,假设共n行,从第1行打印至第n行
# 先通过计算得到第n行的‘#’数和‘ ’数
# 分两种情况计算‘#’数和‘ ’数
# 1. [1:(n+1)/2]行
# 2. [(n+1)/2:n]行
# 这里只有7行,所以我直接找规律(狗头
# 递归结束的条件就是打印完全部行数,return即可
def fprint(n):
    if n <= 4:
        print(' '*(5-n) + '#'*(2*n-1) + ' '*(5-n) )
        return fprint(n+1)
    elif n <= 7:
        print(' '*(n-3) + '#'*(2*(8-n)-1)+ ' '*(n-3))
        return fprint(n+1)
    else :
        return
fprint(1)

全部评论

相关推荐

11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务