Cần giúp đỡ chỉ ra quy luật của hình

Bác đọc kĩ comment chưa đấy :rofl:. Mới cho 2 trường hợp như trên thì đâu có đủ? Lỡ đề sai thì sao? Hay là rơi vào điều kiện khác? Chưa chắc n>=5 đâu, muốn chắc chắn n>=5 thì phải cho giá trị nhỏ hơn để chứng minh, cũng chưa chắc n % 2 > 0, nói chung là phải có trường hợp thứ 3 thì mới chắc chắn được.

1 Like

@HR16 Mình nghĩ người ra đề chưa rõ. Cứ suy nghĩ đơn giản là cho người dùng nhập từ bàn phím 1 số lẻ dương n lớn hơn hoặc bằng 3 để vẽ tam giác. nếu nhập khác điều kiện VD : số âm, số thập phân, số chẵn thì in ra " bạn nhận sai điều kiện chường trình không thể vẽ :crazy_face:"

2 Likes

Tam giác có tam giác thường, tam giác cân, tam giác vuông. Nói mỗi chữ “tam giác” thì biết tam giác nào :laughing:. Mà theo hình vẽ thì là tam giác cân.

1 Like

@HR16 bạn đọc kỹ đề bài của của chủ topic lại á. đề yêu cầu có nhiêu đó thôi “bảo in ra màn hình theo quy tắc sau” chứ có nó vẽ hình gì đâu, mà tam giác cân với đều. mà đề hơi fail cái điều kiện tí

1 Like

@coderTapSu Hmm… Thì chẳng phải hình vẽ đó là tam giác cân à :thinking:? Không biết yêu cầu cần vẽ hình gì thì làm sao làm bài được :laughing:.

1 Like

@HR16 hình gì thì chúng ta không cần quan tâm. Nhìn vào đề chỉ thấy 2 quy luật : 1 là

2 là : dòng đầu tiên bắt đầu bằng 1 dấu sao. kể từ dòng thứ 2 có nhiều hơn dòng trước đó 2 dấu sao. Chỉ đơn giản vậy thôi. dùng 2 vòng for lồng nhau là ra.

1 Like

@coderTapSu Rồi, nói chung là đề còn thiếu dữ kiện nên không chắc chắn được, thế thôi.

3 Likes

Chính vì có trên mạng rồi nên mới ra đề kiểu khác cho sinh viên đừng copy đó bạn

Vẫn hóng thớt vô xác nhận lại đề. :kissing:

3 Likes

Thực chất, việc ra đề khác trong trường hợp này là…vô dụng. Nếu đúng là ra đề khác thật thì cách giải nó chỉ khác ở chỗ là thêm bước tính số dòng thôi, ngoài ra chả có gì khác. Nếu đã làm khác rồi thì tại sao lại không làm hình vẽ kiểu tam giác đều, tam giác vuông(à cái này hơi dễ rồi). Ngoài ra, mình đã chỉ ra rồi, làm mỗi 2 trường hợp thế này thì làm sao chắc chắn cái số dòng khác n hoặc là số dòng=n nhưng đề in thiếu một dòng? Mà giả sử n=2, n=2,5, n=6 thì sao? Nói chung là đề còn thiếu trường hợp n, để chắc chắn được quy luật đúng thì cần thêm ít nhất một trường hợp n nữa.

1 Like
n = 7
print('n = ' + str(n))
if (n % 2) != 0:
   for i in range(1,n+1):
      if (i % 2) != 0: 
         print('* ' * i)
   print('* ' * (n + 2))

Output:

n = 7
* 
* * * 
* * * * * 
* * * * * * * 
* * * * * * * * * 
[Finished in 0.1s]
3 Likes

@TaoLaoBidaoBanBanhBa Bài đăng của bạn có liên quan gì đến topic này không? :thinking:

Logic của đề bài theo post đầu tiên là:

Nếu n là số lẻ thì in ra *, tính từ n = 1
Bước nhảy = 2
Số lượng * của dòng kế cuối là = n
Số lượng * của dòng cuối = n + 2
Code ở trên là ví dụ nếu n = 7

Còn nếu n = 19 thì

n = 19
* 
* * * 
* * * * * 
* * * * * * * 
* * * * * * * * * 
* * * * * * * * * * * 
* * * * * * * * * * * * * 
* * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * * * * 
[Finished in 0.5s]
2 Likes

Tam giác vuông dễ hơn tam giác cân một bước. :kissing:

Còn quy luật mình cũng nghĩ giống TL nhưng vẫn đợi thớt xác nhận. :V

4 Likes

Chủ yếu là tính toán để in ra *
Còn lại là cách thức in ra thôi. Mình không được học bài bản lắm nên không chắc cách in sao cho bài bản, nhưng để in đươc thì không khó lắm

1 Like

@TaoLaoBidaoBanBanhBa À khoan, đề bài là hình tam giác cân mà? Tại sao lại có hình tam giác vuông ở đây?

Của bạn đây

n = 21
print('n = ' + str(n))

if (n % 2) != 0:

   for i in range(1,n+1):

      if (i % 2) != 0: 
         spaces = int((n-i)/2)
         #print(spaces)
         print(' ' + (' ' * int(spaces)) + ('*' * i) + (' ' * int(spaces)))

   print('*' * (n + 2))
n = 21
           *          
          ***         
         *****        
        *******       
       *********      
      ***********     
     *************    
    ***************   
   *****************  
  ******************* 
 *********************
***********************
[Finished in 0.5s]
6 Likes

Vấn đề ở đây không phải là code để in ra mà là quy luật sinh của đề bài chưa rõ ràng thôi

4 Likes

Bài tập cũng như dự án trong thực tế, nhiều khi thông tin không đủ, không rõ ràng, dev hay team buộc phải làm việc với những gì đã có.

Mình đưa code (có post giải thích về logic bên dưới) để bạn kia dễ hiểu hơn xíu. Thường mấy bài đơn giản, nhìn code sẽ dễ hiểu hơn.

4 Likes

Vấn đề là bạn kia đâu có vướng mắc làm code đâu. Khi đi làm cắm đầu code bừa cũng nguy hiểm như không biết code

7 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?