我是靠谱客的博主 高大美女,这篇文章主要介绍python每行输出五个_「答案」python每日一题20201110,现在分享给大家,希望可以做个参考。

打印出如下图案(菱形)

c25d517421a6b830111e55f34e24b118.png
#常规代码def draw2(num):#num表示行的总对称次数    for i in range(1,num*2):#行数        for j in range(1,abs(num-i)+1): #空格            print(end=" ")        for j in range(1,num*2-abs(num-i)*2):#*号            print("*",end="")        print()#回车draw2(4)

以上代码主要是受传统编程语言的影响,用循环语句模拟打印过程,外层循环决定图形行数,内层分别绘制空格和星号。主要还是注意range函数的区间范围,print函数中end参数。

#python递归解法MAX_COL=9#每行最大占用空间def draw(num,n): #num表示行的总对称次数,n表示画第几次(倒数,除中间一条外每次画两行)a="*"*(2*(num-n)+1) #每行星号个数print(a.center(MAX_COL,' ')) #打印对称的上半部分if n!=1: draw(num,n-1) #递归打印下一行print(a.center(MAX_COL,' ')) #打印对称的下半部分draw(4,4)

上面的代码主要考虑到菱形的对称性,巧妙运用递归完成图形生成。其中字符串的center函数可以简化前置空格输出,字符串用*运算可以简化重复输出。所以第一种解法的代码可以做一下优化。

#常规代码MAX_COL=9#每行最大占用空间def draw2(num):#num表示行的总对称次数    for i in range(1,num*2):#行数        print(("*"*(num*2-abs(num-i)*2-1)).center(MAX_COL," "))#*号draw2(4)

最后

以上就是高大美女最近收集整理的关于python每行输出五个_「答案」python每日一题20201110的全部内容,更多相关python每行输出五个_「答案」python每日一题20201110内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(138)

评论列表共有 0 条评论

立即
投稿
返回
顶部