题解 | #递归画图#

递归画图

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)

全部评论

相关推荐

10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务