Giả sử chúng ta có một số n. Chúng ta phải vẽ một hình thoi có dấu hoa thị với 2n-1 dòng. Từ 1 đến n dòng đầu tiên chứa 1 đến n số dấu hoa thị và tiếp theo chúng giảm dần từ n-1 đến 1.
Vì vậy, nếu đầu vào là n =5, thì đầu ra sẽ là
* * * * * * * * * * * * * * * * * * * * * * * * *
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- đối với tôi trong phạm vi từ 1 đến n, hãy làm
-
- in một khối '*' i lần và in nó ở định dạng căn đều ở giữa với khoảng trắng (2 * n-1) ký tự trong mỗi dòng
- đối với tôi trong phạm vi n-1 đến 0, giảm đi 1, thực hiện
-
- in một khối '*' i lần và in nó ở định dạng căn đều ở giữa với khoảng trắng (2 * n-1) ký tự trong mỗi dòng
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau đây để hiểu rõ hơn
def solve(n): for i in range(1,n+1): print(('* '*i).center(2*n-1)) for i in range(n-1,0, -1): print(('* '*i).center(2*n-1)) n = 10 solve(n)
Đầu vào
10
Đầu ra
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *