原题链接:DNA
解题思路:
先尝试打印一次对称的DNA,然后跑一个循环打印n次
注意事项:
① 由于n次循环中,有一行的是重复的,单独拎出来打印;
② 'X'是大写的
参考代码:
def func(a): h = (a+1) // 2 for i in range(h-1): if i == h-2: break for j in range(2*h-2): if j-i == 1 or i+j == 2*h-3: print('X', end='') else: print(' ', end='') print() for i in range(h): for j in range(2*h-1): if j-i == h-1 or i+j == h-1: print('X', end='') else: print(' ', end='') if i < h: print() else: print(end='') def func_DNA(a, b): h = (a+1) // 2 for i in range(2*h): # 单独拎出来打印该行,其他的则循环打印 if i == 0 or i == 2*(h-1): print('X', end='') else: print(' ', end='') print() for k in range(b): func(a) n = int(input()) for i in range(n): a, b = map(int, input().split()) func_DNA(a, b) print()
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复