Using two characters: . (dot) and * (asterisk) print a grid-like pattern.
Input
You are given t - the number of test cases and for each of the test cases four positive integers: l - the number of lines, c - the number of columns in the grid; h and w - the high and the with of the single rectangle.
Output
For each of the test cases output the requested pattern (please have a look at the example). Use one line break in between successive patterns.
Example
Input: 3 3 1 2 1 4 4 1 2 2 5 2 2 Output: *** *.* *.* *** *.* *.* *** *.* *.* *** ************* *..*..*..*..* ************* *..*..*..*..* ************* *..*..*..*..* ************* *..*..*..*..* ************* **************** *..*..*..*..*..* *..*..*..*..*..* **************** *..*..*..*..*..* *..*..*..*..*..* ****************题意:给出行,列及高和宽(l,c,h,w),输出由点和星号组成的矩阵
思路:则总的行数为row = l *(h+1) +1,列数为col=c*(w+1)+1,在遍历时,如果当前行能被(h+1)整除或者当前列能被(w+1)整除,输出*,否则输出.
注意用python3(python3.4通过),但是用python3.4(python3.4)就超时
代码如下:
t = int(input())
for cas in range(t):
line = input();
a = line.split(' ');
l = int(a[0])
c = int(a[1])
h = int(a[2])
w = int(a[3])
row = l * (h + 1) + 1
col = c * (w + 1) + 1
for i in range(row):
for j in range(col):
if (0 == i % (h + 1) or 0 == j % (w + 1)):
print('*', sep='', end='')
else:
print('.', sep='', end='')
print()