原题链接: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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复