Hướng dẫn how to print patterns side by side in python - cách in các mẫu cạnh nhau trong python

2

Show

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã tạo ra một hàm sẽ cung cấp cho tôi một mẫu bảng chữ cái phóng to của chữ K. Tôi đã tạo một hàm khác sẽ in mẫu. Tôi muốn in hai mẫu k bên cạnh nhưng khi tôi thực thi mã, nó in mẫu thứ 2 bên dưới mẫu thứ 1K. I have created another function which will print the pattern. I want to print two pattern K side-by-side but when I execute the code it prints 2nd pattern below the 1st pattern

Tôi giải quyết điều này như thế nào?

def letter_k(pattern):
    k = ''
    for row in range(7):
        for col in range(6):
            if((col == 0) or ((row == 0 or row == 6) and (col == 5)) 
                           or ((row == 1 or row == 5) and (col == 4)) 
                           or ((row == 2 or row == 4) and (col == 3)) 
                           or ((row == 3) and (col == 2))):
                k = k + pattern
            else:
                k = k + ' '
        k = k + '\n'
    return k

def name():
    print(letter_k('*'),letter_k('+'))

name()

Hướng dẫn how to print patterns side by side in python - cách in các mẫu cạnh nhau trong python

SMCI

30.7K18 Huy hiệu vàng110 Huy hiệu bạc145 Huy hiệu đồng18 gold badges110 silver badges145 bronze badges

Khi được hỏi ngày 29 tháng 8 năm 2018 lúc 7:29Aug 29, 2018 at 7:29

Hướng dẫn how to print patterns side by side in python - cách in các mẫu cạnh nhau trong python

2

Bạn có thể chia đầu ra của hai cuộc gọi thành

*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +
5,
*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +
6 chúng, sau đó gia nhập lại chúng:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))

Với thay đổi này, mã của bạn sẽ xuất ra:

*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +

Đã trả lời ngày 29 tháng 8 năm 2018 lúc 7:34Aug 29, 2018 at 7:34

blhsingblhsingblhsing

82.1k6 Huy hiệu vàng64 Huy hiệu bạc94 Huy hiệu đồng6 gold badges64 silver badges94 bronze badges

0

Để in các chữ cái cạnh nhau, bạn phải nối các dòng riêng lẻ. Điều đó thường có nghĩa là phân tách các dòng, nối các dòng tương ứng, sau đó đặt các dòng kết hợp lại với nhau. Nó giúp các chữ cái của bạn nằm trong một khối hình chữ nhật, vì vậy bạn không phải tìm ra phần đệm cho mỗi dòng.

k1 = letter_k('*')
k2 = letter_k('+')
lines = [' '.join(rows) for rows in zip(k1.splitlines(), k2.splitlines())]
ks = '\n'.join(lines)
print(ks)

Đây là một liên kết IdeOne để chơi với: https://ideone.com/oqstfd

Đã trả lời ngày 29 tháng 8 năm 2018 lúc 7:37Aug 29, 2018 at 7:37

Hướng dẫn how to print patterns side by side in python - cách in các mẫu cạnh nhau trong python

Nhà vật lý vật lý điênMad Physicist

101K24 Huy hiệu vàng166 Huy hiệu bạc248 Huy hiệu Đồng24 gold badges166 silver badges248 bronze badges

Trong Python, đối với vòng lặp được sử dụng để in các mẫu khác nhau. In các mẫu khác nhau là câu hỏi lập trình được hỏi phổ biến nhất trong cuộc phỏng vấn. Nhiều vòng cho các vòng được sử dụng để in các mẫu trong đó vòng lặp bên ngoài đầu tiên được sử dụng để in số lượng hàng và vòng bên trong được sử dụng để in số lượng cột. Hầu hết các mẫu sử dụng các khái niệm sau.

  • Vòng ngoài để in số lượng hàng.
  • Các vòng bên trong để in số lượng cột.
  • Biến để in khoảng trắng theo địa điểm cần thiết trong Python.

Trong hướng dẫn này, chúng tôi sẽ thảo luận về một vài mô hình phổ biến.

In hình kim tự tháp, sao và kim cương trong Python

Trong phần này, chúng ta sẽ tìm hiểu các mẫu kim tự tháp phổ biến.

Mẫu - 1: Mẫu kim tự tháp đơn giản

Thí dụ -

Output:

* 
* * 
* * * 
* * * * 
* * * * *

Explanation:

Trong mã trên, chúng tôi đã khởi tạo biến N để nhập số lượng hàng cho mẫu. Chúng tôi đã nhập n = 5, phạm vi của vòng lặp bên ngoài sẽ là 0 đến 4.

  • Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.
  • Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).
  • Trong lần lặp thứ hai, giá trị của I là 1 và nó tăng thêm 1, do đó nó trở thành 1+1, bây giờ vòng lặp bên trong lặp lại hai lần và in hai sao (*).
  • Đối số cuối cùng ngăn chặn nhảy vào một dòng khác. Nó sẽ in ngôi sao cho đến khi vòng lặp hợp lệ.
  • Câu lệnh in cuối cùng chịu trách nhiệm kết thúc dòng sau mỗi hàng.

Mẫu - 2: Kim tự tháp góc phải ngược

Thí dụ -

Output:

      * 
     * * 
    * * * 
   * * * * 
  * * * * *

Trong mã trên, chúng tôi đã khởi tạo biến N để nhập số lượng hàng cho mẫu. Chúng tôi đã nhập n = 5, phạm vi của vòng lặp bên ngoài sẽ là 0 đến 4.

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

Enter the number of rows: 5
* * * * *  
* * * *  
* * *  
* *  
*  

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

Enter the number of rows: 10
                  *   
                 *  *   
                *  *  *   
               *  *  *  *   
              *  *  *  *  *   
             *  *  *  *  *  *   
            *  *  *  *  *  *  *   
           *  *  *  *  *  *  *  *   
          *  *  *  *  *  *  *  *  *   
         *  *  *  *  *  *  *  *  *  *   

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

                  * * * * * * * * * * * 
                   * * * * * * * * * * 
                    * * * * * * * * * 
                     * * * * * * * * 
                      * * * * * * * 
                       * * * * * * 
                        * * * * * 
                         * * * * 
                          * * * 
                           * * 
                            *

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

Enter the number of rows: 8
              * 
             * * 
            * * * 
           * * * * 
          * * * * * 
         * * * * * * 
        * * * * * * * 
       * * * * * * * * 
      * * * * * * * * * 
       * * * * * * * * 
        * * * * * * * 
         * * * * * * 
          * * * * * 
           * * * * 
            * * * 
             * * 
              *

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
0

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
1

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Trong lần lặp thứ hai, giá trị của I là 1 và nó tăng thêm 1, do đó nó trở thành 1+1, bây giờ vòng lặp bên trong lặp lại hai lần và in hai sao (*).

Đối số cuối cùng ngăn chặn nhảy vào một dòng khác. Nó sẽ in ngôi sao cho đến khi vòng lặp hợp lệ.

Câu lệnh in cuối cùng chịu trách nhiệm kết thúc dòng sau mỗi hàng.

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
2

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Trong lần lặp thứ hai, giá trị của I là 1 và nó tăng thêm 1, do đó nó trở thành 1+1, bây giờ vòng lặp bên trong lặp lại hai lần và in hai sao (*).

Đối số cuối cùng ngăn chặn nhảy vào một dòng khác. Nó sẽ in ngôi sao cho đến khi vòng lặp hợp lệ.

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
3

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Trong lần lặp thứ hai, giá trị của I là 1 và nó tăng thêm 1, do đó nó trở thành 1+1, bây giờ vòng lặp bên trong lặp lại hai lần và in hai sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
4

Explanation:

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Trong lần lặp thứ hai, giá trị của I là 1 và nó tăng thêm 1, do đó nó trở thành 1+1, bây giờ vòng lặp bên trong lặp lại hai lần và in hai sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
5

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
6

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
7

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
8

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Việc lặp lại của vòng bên trong cho vòng lặp phụ thuộc vào vòng ngoài. Vòng bên trong có trách nhiệm in số cột.

Output:

def name():
    print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
9

Trong lần lặp đầu tiên, giá trị của I là 0 và nó tăng thêm 1, do đó nó trở thành 0+1, bây giờ vòng lặp bên trong được lặp lại lần đầu tiên và in một sao (*).

Output:

*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +
0

Trong lần lặp thứ hai, giá trị của I là 1 và nó tăng thêm 1, do đó nó trở thành 1+1, bây giờ vòng lặp bên trong lặp lại hai lần và in hai sao (*).

Đối số cuối cùng ngăn chặn nhảy vào một dòng khác. Nó sẽ in ngôi sao cho đến khi vòng lặp hợp lệ.

Câu lệnh in cuối cùng chịu trách nhiệm kết thúc dòng sau mỗi hàng.

Mẫu - 1: mẫu góc bên phải với các ký tự

Mã số -

Output:

*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +
1

Giải trình -

Trong mã trên, chúng tôi đã gán giá trị số nguyên 65 cho biến asciivalue là giá trị ASCII của A. Chúng tôi đã xác định cho vòng lặp để in năm hàng. Trong phần thân vòng bên trong, chúng tôi đã chuyển đổi giá trị ASCII thành ký tự bằng hàm char (). Nó sẽ in các bảng chữ cái, tăng asciivalue sau mỗi lần lặp.asciiValue variable which is an ASCII value of A. We defined for loop to print five rows. In the inner loop body, we converted the ASCII value into the character using the char() function. It will print the alphabets, increased the asciiValue after each iteration.

Mẫu - 2: Mẫu hình góc phải có cùng ký tự

Mã số -

Output:

*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +
2

Giải trình -

Mã số -

Output:

*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +
3

Giải trình -

Trong mã trên, chúng tôi đã gán giá trị số nguyên 65 cho biến asciivalue là giá trị ASCII của A. Chúng tôi đã xác định cho vòng lặp để in năm hàng. Trong phần thân vòng bên trong, chúng tôi đã chuyển đổi giá trị ASCII thành ký tự bằng hàm char (). Nó sẽ in các bảng chữ cái, tăng asciivalue sau mỗi lần lặp.

Mã số -

Output:

*    * +    +
*   *  +   + 
*  *   +  +  
* *    + +   
*  *   +  +  
*   *  +   + 
*    * +    +
4

Giải trình -


Làm cách nào để in một mẫu cạnh nhau trong Python?

Các mẫu trong Python có thể được in bằng cách sử dụng lồng nhau cho các vòng lặp. Vòng ngoài được sử dụng để lặp qua số lượng hàng trong khi vòng lặp bên trong được sử dụng để xử lý số lượng cột. Tuyên bố in được sửa đổi để hình thành các mẫu khác nhau theo yêu cầu.using nested for loops. The outer loop is used to iterate through the number of rows whereas the inner loop is used to handle the number of columns. The print statement is modified to form various patterns according to the requirement.

Làm thế nào để bạn in các mẫu khác nhau trong Python?

Các mẫu có thể được in bằng Python bằng cách sử dụng đơn giản cho các vòng lặp.Vòng lặp bên ngoài đầu tiên được sử dụng để xử lý số lượng hàng và vòng lồng bên trong được sử dụng để xử lý số lượng cột.Thao tác các câu lệnh in, các mẫu số khác nhau, mẫu bảng chữ cái hoặc mẫu sao có thể được in.using simple for loops. First outer loop is used to handle the number of rows and the Inner nested loop is used to handle the number of columns. Manipulating the print statements, different number patterns, alphabet patterns, or star patterns can be printed.

Làm thế nào để bạn in một nửa kim tự tháp bằng python?

Vòng lặp bên ngoài cho vòng lặp từ i = hàng đến i = 1.Bên trong đầu tiên cho vòng lặp in các không gian cần thiết trong mỗi hàng.Bên trong thứ hai cho vòng lặp in nửa đầu của kim tự tháp (cắt theo chiều dọc), trong khi phần bên trong cuối cùng cho vòng lặp in nửa còn lại.

Làm thế nào để bạn in một mẫu số từ vòng lặp trong một vòng trong Python?

Đối với một số đầu vào là 4, sau đây sẽ là mẫu.Bên trong trong khi vòng lặp in một hàng sau khi thực hiện hoàn toàn.Bên ngoài trong khi vòng lặp giúp in n số lượng hàng.Nói cách khác, bên ngoài trong khi vòng lặp in các hàng, trong khi bên trong trong khi vòng lặp in các cột trong mỗi hàng.