Câu hỏi về vòng lặp lồng nhau trong Python

Trong chương hiện tại, chúng ta sẽ xem xét các vòng lặp lồng nhau và cách sử dụng vòng lặp

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
6 để vẽ các hình khác nhau trên bảng điều khiển, chứa các ký hiệu và dấu hiệu, được sắp xếp theo hàng và cột trên bảng điều khiển. Chúng tôi sẽ sử dụng các vòng lặp đơn và lồng nhau [các vòng lặp nằm trong các vòng lặp khác], tính toán và kiểm tra, để in trên bảng điều khiển các số liệu đơn giản và không quá đơn giản theo các kích thước được chỉ định

Vấn đề. Hình chữ nhật 10 x 10 Sao

In trên bảng điều khiển một hình chữ nhật được tạo từ các dấu hoa thị 10 x 10

InputOutput[None]
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
_______97
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
7

Gợi ý và hướng dẫn

Ví dụ hoạt động như thế nào? . Giá trị mặc định của biến là

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
4. Với mỗi lần lặp của vòng lặp, biến tăng thêm 1 trong khi nó nhỏ hơn 10. Bằng cách này, mã trong phần thân của vòng lặp được thực thi 10 lần - bao gồm từ 0 đến 9. Trong phần thân của vòng lặp, chúng tôi in một dòng mới trên bàn điều khiển
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
5, dòng này tạo ra một chuỗi gồm 10 dấu hoa thị

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vấn đề. Hình chữ nhật có N x N Sao

Viết chương trình nhận vào số dương n và in ra bàn điều khiển một hình chữ nhật được tạo từ N x N dấu hoa thị

InputOutputInputOutputInputOutput2
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
6
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
63
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
8
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
8
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
84
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
61
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
61
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
61
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
61

Gợi ý và hướng dẫn

Nhiệm vụ tương tự như trước

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Một vòng lặp lồng nhau là một cấu trúc trong đó phần thân của một vòng lặp [vòng ngoài] nằm bên trong một vòng lặp khác [vòng trong]. Trong mỗi lần lặp của vòng lặp bên ngoài, toàn bộ vòng lặp bên trong được thực hiện. Điều này xảy ra theo cách sau

  • Khi các vòng lặp lồng nhau bắt đầu thực thi, vòng lặp bên ngoài bắt đầu trước. khởi tạo biến điều khiển của nó được thực hiện và sau khi kiểm tra kết thúc vòng lặp, mã trong phần thân của nó được thực thi
  • Sau đó, vòng lặp bên trong được thực hiện. Vị trí bắt đầu của biến điều khiển được khởi tạo, việc kiểm tra kết thúc vòng lặp được thực hiện và mã trong phần thân của nó được thực thi
  • Khi đạt đến giá trị đặt cho phần cuối của vòng lặp, chương trình sẽ quay lại một bước và tiếp tục thực hiện vòng lặp bên ngoài trước đó. Biến điều khiển của vòng lặp bên ngoài thay đổi theo một bước, kiểm tra được thực hiện để xem liệu điều kiện để kết thúc vòng lặp có được đáp ứng hay không và một lần thực hiện mới của vòng lặp lồng nhau [bên trong] được bắt đầu
  • Việc này được lặp lại cho đến khi biến của vòng lặp ngoài thỏa mãn điều kiện kết thúc vòng lặp

Dưới đây là một ví dụ minh họa các vòng lặp lồng nhau. Mục đích là để in một hình chữ nhật có dấu hoa thị N x N, trong đó đối với mỗi hàng, một vòng lặp lặp lại từ 1 đến N và đối với mỗi cột, một vòng lặp lồng nhau được thực hiện từ 1 đến N

Trong Python, khi giá trị ban đầu chuẩn của biến trong vòng lặp [

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
4] không phù hợp với chúng ta, chúng ta có thể thay đổi nó bằng cú pháp trên. Tôi. e. khi chúng tôi muốn vòng lặp bắt đầu từ 1 và xoay vòng bao gồm cả
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66, chúng tôi viết.
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
67. Giá trị đầu tiên trong ngoặc đơn cho biết phần đầu của vòng lặp và giá trị thứ hai - phần cuối của vòng lặp, nhưng không bao gồm, i. e. vòng lặp kết thúc trước khi đạt được

Hãy xem ví dụ trên. Sau khi khởi tạo vòng lặp đầu tiên [bên ngoài], phần thân của nó, chứa vòng lặp thứ hai [lồng nhau], bắt đầu chạy. Nó in một dòng

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66 dấu hoa thị. Sau khi vòng lặp bên trong hoàn thành việc thực thi của nó trong lần lặp đầu tiên của vòng lặp bên ngoài, thì vòng lặp bên ngoài sẽ tiếp tục, tôi. e. sẽ in một dòng trống trên bàn điều khiển. Sau đó, vòng lặp đầu tiên sẽ được cập nhật và toàn bộ vòng lặp thứ hai [lồng nhau] sẽ được thực hiện lại. Vòng lặp bên trong sẽ được thực hiện nhiều lần như phần thân của vòng lặp bên ngoài được thực hiện, trong trường hợp này là
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66** lần

Vấn đề. Quảng trường Ngôi sao

In trên bàn điều khiển một hình vuông có N x N dấu hoa thị

InputOutputInputOutputInputOutput2
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
______9703
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
72
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
72
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
724
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75

Gợi ý và hướng dẫn

Vấn đề tương tự như vấn đề cuối cùng. Điểm khác biệt ở đây là chúng ta cần tìm cách thêm khoảng trắng sau dấu sao để không có bất kỳ khoảng trắng thừa nào ở đầu và cuối

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vấn đề. Tam giác đô la

Viết chương trình nhận số nguyên n và in ra hình tam giác làm bằng đô la kích thước n

InputOutputInputOutputInputOutput3
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
79
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
714
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
79
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
71
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
755
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
79
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
71
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70

Gợi ý và hướng dẫn

Bài toán tương tự như bài vẽ hình chữ nhật và hình vuông. Một lần nữa, chúng ta sẽ sử dụng các vòng lặp lồng nhau, nhưng có một nhược điểm ở đây. Sự khác biệt là số lượng cột mà chúng ta cần in phụ thuộc vào hàng mà chúng ta đang ở trên đó chứ không phụ thuộc vào số đầu vào

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66. Từ dữ liệu đầu vào và đầu ra ví dụ, chúng tôi thấy rằng số lượng đô la phụ thuộc vào hàng chúng tôi đang ở tại thời điểm in, tôi. e. 1 đô la có nghĩa là hàng đầu tiên, 3 đô la có nghĩa là hàng thứ ba, v.v. Hãy xem chi tiết ví dụ sau. Ta thấy rằng biến của vòng lặp lồng nhau được kết nối với biến của vòng lặp bên ngoài. Bằng cách này, chương trình của chúng tôi in hình tam giác mong muốn

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vấn đề. khung vuông

Viết chương trình nhận vào số nguyên dương n và vẽ lên console khung hình vuông có kích thước N x N

InputOutputInputOutput3
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
72
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
73
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
724
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
76
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
76
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75InputOutputInputOutput5
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
79
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
796
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
74
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
74

Gợi ý và hướng dẫn

Chúng ta có thể giải quyết vấn đề theo cách sau

  • Chúng tôi đọc từ bảng điều khiển số
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    66
  • Chúng tôi in phần trên. đầu tiên là dấu hiệu
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    71, sau đó là n-2 lần
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    72 và cuối cùng là dấu hiệu
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    71
  • Chúng tôi in phần giữa. chúng tôi in n-2 hàng, như lần đầu tiên chúng tôi in ký hiệu
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    74, sau đó n-2 lần
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    72 và cuối cùng lại là ký hiệu
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    74. Chúng ta có thể làm điều này với các vòng lặp lồng nhau
  • Chúng tôi in phần dưới. đầu tiên là dấu hiệu
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    71, sau đó là n-2 lần
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    72 và cuối cùng là dấu hiệu
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    71

Đây là một ví dụ triển khai ý tưởng trên với các vòng lặp lồng nhau

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vấn đề. Hình thoi sao

Viết chương trình nhận vào số nguyên dương n và in ra hình thoi làm bằng các dấu hoa thị có kích thước N

InputOutputInputOutput1
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
702
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
71
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
72
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
71
InputOutputInputOutput3
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
74
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
76
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
744
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
79
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
71
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
72
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
71
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
79

Gợi ý và hướng dẫn

Để giải quyết vấn đề này, chúng ta cần chia hình thoi thành hai phần một cách tinh thần - phần trên, bao gồm cả hàng ở giữa và phần dưới. Để in từng phần, chúng tôi sẽ sử dụng hai vòng lặp riêng biệt, vì chúng tôi để độc giả quyết định sự phụ thuộc giữa

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66 và các biến của các vòng lặp. Đối với vòng lặp đầu tiên, chúng ta có thể sử dụng các nguyên tắc sau

  • Chúng tôi in khoảng trắng
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    77
  • Chúng tôi in
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    70
  • Chúng tôi in
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    79 lần
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    70

Phần thứ hai [dưới] sẽ được in tương tự, một lần nữa chúng tôi để người đọc làm

Trong Python, bước chuẩn của vòng lặp
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
6 là dương và bằng 1. Nếu chúng ta muốn thay đổi nó, chúng ta phải sử dụng tham số thứ ba trong các đối số của vòng lặp.
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
02. Tham số thứ ba, trong trường hợp này, cho biết biến sẽ tăng từ 0 đến 99, với bước 2

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vấn đề. cây giáng sinh

Viết chương trình nhận vào số n [1 ≤ n ≤ 100] và in ra cây thông Noel có chiều cao là N+1

InputOutputInputOutput1
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
03
____0042
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
05
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
06
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
07InputOutputInputOutput3
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
08
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
09
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
10
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
114
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
12
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
13
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
14
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
15
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
16

Gợi ý và hướng dẫn

Từ các ví dụ, chúng ta thấy rằng cây Giáng sinh có thể được chia thành ba phần hợp lý. Phần đầu tiên là dấu hoa thị và khoảng trắng trước và sau chúng, phần giữa là

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
74 và phần cuối cùng lại là dấu hoa thị, nhưng lần này chỉ có khoảng trắng trước chúng. Việc in có thể được thực hiện chỉ với một vòng lặp và phép nhân chuỗi hoạt động, mà chúng ta sẽ sử dụng một lần cho các dấu hoa thị và một lần cho các khoảng trắng

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vẽ các hình phức tạp hơn

Hãy xem cách vẽ các hình bằng cách sử dụng các vòng lặp lồng nhau với logic phức tạp hơn mà chúng ta cần suy nghĩ nhiều hơn trước khi viết mã

Vấn đề. Kính râm

Viết chương trình nhận số nguyên n [3 ≤ n ≤ 100] và in ra chiếc kính râm có kích thước 5*N x N như trong ví dụ

InputOutputInputOutput3
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
18
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
19
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
184
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
21
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
22
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
23
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
21
InputOutput5
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
25
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
26
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
27
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
26
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
25

Hints and Guidelines

Từ các ví dụ, chúng ta có thể thấy rằng kính râm có thể được chia thành ba phần – trên, giữa và dưới. Dưới đây là một phần của mã mà vấn đề có thể được giải quyết. Khi vẽ các hàng trên và dưới, chúng ta cần in ________ 030 dấu sao, ________ 966 khoảng trắng và ________ 030 dấu sao

Khi vẽ phần ở giữa, chúng ta cần kiểm tra xem hàng có phải là

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
33 hay không vì trong các ví dụ, chúng ta có thể thấy rằng ở hàng này, chúng ta cần in các dấu gạch chéo dọc thay vì khoảng trắng

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vấn đề. Căn nhà

Viết chương trình nhận vào số n [2 ≤ n ≤ 100] và in ra ngôi nhà kích thước N x N như ví dụ

InputOutputInputOutputInputOutput2
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
6
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
35
3
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
36
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
8
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
384
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
39
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
61
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
41
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
41InputOutputInputOutput5
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
43
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
44
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
45
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
46
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
468
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
48
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
49
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
50
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
51
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
52
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
52
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
52
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
52

Hints and Guidelines

Từ phần mô tả vấn đề, chúng tôi hiểu rằng ngôi nhà có kích thước

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66 x
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66. Những gì chúng ta thấy từ đầu vào và đầu ra ví dụ là

  • Ngôi nhà được chia thành hai phần. mái nhà và cơ sở

  • Khi
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    66 là số chẵn, điểm của nhà cái là "xỉu"
  • Khi
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    66 là số lẻ, mái có đầu nhọn và lớn hơn chân đế một hàng
mái nhà
  • Nó bao gồm dấu hoa thị và dấu gạch ngang
  • Ở phần cao nhất, có một hoặc hai dấu hoa thị, tùy thuộc vào n chẵn hay lẻ, cũng như các dấu gạch ngang
  • Ở phần dưới cùng, có nhiều dấu hoa thị và ít hoặc không có dấu gạch ngang
  • Với mỗi hàng thấp hơn, dấu hoa thị tăng thêm 2 và dấu gạch ngang cũng giảm 2
cơ sở
  • Chiều cao là
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    66 hàng
  • Nó được tạo thành từ dấu hoa thị và dấu gạch chéo dọc
  • Mỗi hàng bao gồm 2 dấu gạch chéo dọc – một ở đầu và một ở cuối hàng, đồng thời có dấu hoa thị giữa các dấu gạch chéo dọc với độ dài chuỗi là
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    61

Chúng tôi đọc số đầu vào

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66 từ bảng điều khiển và viết giá trị của nó vào một biến

Điều rất quan trọng là kiểm tra xem dữ liệu đầu vào có chính xác không. Trong các tác vụ này, việc chuyển đổi trực tiếp dữ liệu từ bảng điều khiển thành loại
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
63 không phải là vấn đề, bởi vì người ta nói rằng chúng ta sẽ được cung cấp các số nguyên hợp lệ. Nếu bạn đang tạo các chương trình phức tạp hơn, bạn nên kiểm tra dữ liệu. Điều gì sẽ xảy ra nếu thay vì nhập số, người dùng nhập ký tự "A"?

Để vẽ mái nhà, chúng tôi viết ra bao nhiêu dấu hoa thị mà chúng tôi bắt đầu bằng một biến có tên là

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
64

  • Nếu
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    66 là số lẻ sẽ có 1 sao
  • Nếu chẵn sẽ có 2

Tính chiều dài của mái nhà. Nó bằng một nửa của

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66. Viết kết quả vào biến
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
67

Ghi chú. Để sử dụng

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
68 làm tròn số nguyên lớn hơn, không phân biệt phần thập phân, cần nhập thư viện
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
69. Điều này được thực hiện bằng lệnh
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70. Bạn nên viết
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70 [cũng như tất cả các lần nhập khác] ở đầu tệp

Điều quan trọng cần lưu ý là khi

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66 là một số lẻ, thì chiều dài của mái nhiều hơn chiều dài của chân đế một hàng

Trong Python, khi 2 kiểu số nguyên chia hết và có dư thì kết quả trả về sẽ là một số có dư. Nếu chúng ta muốn thực hiện phép chia số nguyên thuần túy không có phần dư, thì cần sử dụng toán tử

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
73

Ví dụ

Nếu chúng ta muốn làm tròn đến số nguyên lớn nhất tiếp theo, chúng ta cần sử dụng phương pháp

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
74.
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
75

Sau khi tính toán chiều dài của mái nhà, chúng tôi tạo một vòng lặp từ 0 đến

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
67. Trên mỗi lần lặp, chúng ta sẽ

  • Tính số gạch ngang cần vẽ. Số sẽ bằng
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    77. Chúng tôi lưu trữ nó trong biến
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    78

  • Chúng tôi in trên bàn điều khiển. "dấu gạch ngang" [
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    78 lần] + "dấu hoa thị" [
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    64 lần] + "dấu gạch ngang" [
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    78 lần]

  • Trước khi quá trình lặp kết thúc, chúng tôi thêm 2 vào
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    64 [số dấu hoa thị]

Sau khi chúng tôi hoàn thành phần mái, đã đến lúc làm phần đế. Nó dễ dàng hơn để in

  • Chúng tôi bắt đầu với một vòng lặp từ 0 đến
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    66 [độc quyền]
  • Chúng tôi in trên bảng điều khiển.
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    74 +
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    70 [
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    61 lần] +
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    74

Nếu chúng tôi đã viết mọi thứ chính xác, vấn đề của chúng tôi sẽ được giải quyết

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Vấn đề. Kim cương

Viết chương trình nhận số nguyên n [1 ≤ n ≤ 100] và in ra viên kim cương size N như ví dụ sau

InputOutputInputOutputInputOutput1
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
70
2
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
63
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
36
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
91
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
36InputOutputInputOutputInputOutput4
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
39
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
94
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
395
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
43
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
97
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
98
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
97
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
43
6
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
601
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
602
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
603
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
602
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
601
InputOutputInputOutputInputOutput7
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
606
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
607
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
608
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
609
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
608
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
607
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
606
8
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
48
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
614
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
615
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
616
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
615
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
614
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
48
9
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
620
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
621
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
622
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
623
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
624
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
623
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
622
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
621
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
620

Gợi ý và hướng dẫn

Những gì chúng tôi biết từ mô tả của vấn đề là viên kim cương có kích thước

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66 x
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66. Từ ví dụ đầu vào và đầu ra, chúng ta có thể kết luận rằng tất cả các hàng chứa chính xác _______966 ký hiệu và tất cả các hàng, ngoại trừ hàng trên cùng và dưới cùng, đều có 2 dấu hoa thị. Chúng ta có thể chia viên kim cương thành 2 phần

  • Phần trên. Nó bắt đầu từ đầu trên xuống giữa
  • Phần dưới. Nó bắt đầu từ hàng bên dưới hàng giữa và đi xuống hàng dưới [bao gồm]
Phần trên
  • Nếu n là số lẻ thì bắt đầu bằng 1 dấu hoa thị
  • Nếu n là số chẵn thì bắt đầu bằng 2 dấu hoa thị
  • Với mỗi hàng xuống, các dấu hoa thị sẽ cách xa nhau hơn
  • Khoảng cách giữa, trước và sau dấu hoa thị được lấp đầy bằng dấu gạch ngang
Phần dưới
  • Với mỗi hàng xuống, các dấu hoa thị lại gần nhau hơn. Điều này có nghĩa là khoảng cách [dấu gạch ngang] giữa chúng ngày càng nhỏ hơn và khoảng cách [dấu gạch ngang] ở bên trái và bên phải ngày càng lớn hơn
  • Phần dưới cùng có 1 hoặc 2 dấu hoa thị, tùy thuộc vào n là số chẵn hay số lẻ
Phần trên và phần dưới của viên kim cương
  • Trên mỗi hàng, ngoại trừ hàng ở giữa, các dấu hoa thị được bao quanh bởi các dấu gạch ngang bên trong và bên ngoài
  • Trên mỗi hàng, có khoảng cách giữa hai dấu hoa thị, ngoại trừ hàng đầu tiên và hàng cuối cùng [đôi khi dấu hoa thị là 1]

Chúng tôi đọc giá trị của

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
66 từ bảng điều khiển, chuyển đổi nó thành loại
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
63

Chúng tôi bắt đầu vẽ phần trên của viên kim cương. Điều đầu tiên chúng ta cần làm là tính số lượng các dấu gạch ngang bên ngoài

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
634 [các dấu gạch ngang ở bên ngoài các dấu hoa thị]. Nó bằng
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
635, làm tròn xuống

Sau khi tính được

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
634, chúng ta bắt đầu vẽ phần trên của viên kim cương. Chúng ta có thể bắt đầu bằng cách chạy một vòng lặp từ
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
637 [i. e. làm tròn xuống]

Tại mỗi lần lặp của vòng lặp, các bước sau phải được thực hiện

  • Chúng tôi in trên bảng điều khiển các dấu gạch ngang bên trái [có chiều dài
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    634] và dấu hoa thị đầu tiên ngay sau chúng

  • Ta sẽ tính khoảng cách giữa hai dấu hoa thị. Chúng ta có thể làm điều này bằng cách trừ đi từ n số dấu gạch ngang bên ngoài và số 2 [số dấu hoa thị, i. e. đường viền của viên kim cương]. Chúng ta cần lưu trữ kết quả của phép trừ trong một biến
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    639

  • Nếu

    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    639 thấp hơn 0, chúng tôi biết rằng trên hàng chỉ nên có 1 sao. Nếu nó lớn hơn hoặc bằng 0 thì chúng ta phải in các dấu gạch ngang có độ dài
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    639 và một dấu hoa thị sau chúng

  • Chúng tôi in trên bảng điều khiển các dấu gạch ngang bên ngoài bên phải có chiều dài

    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    634

  • Ở cuối vòng lặp, chúng tôi giảm
    for row in range[5]:
        print['*', end='']
    
        for col in range[4]:
            print[' *', end='']
    
        print[]
    
    634 xuống 1 [các dấu hoa thị đang di chuyển ra xa nhau]

Chúng tôi đã sẵn sàng với phần trên

In phần dưới rất giống với phần trên. Sự khác biệt là thay vì giảm

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
634 với 1 ở cuối vòng lặp, chúng tôi sẽ tăng nó lên 1 ở đầu vòng lặp. Ngoài ra, vòng lặp sẽ lặp từ 0 đến
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
645

Việc lặp lại mã được coi là thông lệ không tốt vì mã trở nên rất khó bảo trì. Hãy tưởng tượng rằng chúng ta có một đoạn mã [e. g. logic để vẽ một hàng từ viên kim cương] ở một vài chỗ nữa và chúng tôi quyết định thay đổi nó. Để làm điều này, chúng ta sẽ phải đi qua tất cả các nơi và thay đổi nó ở mọi nơi. Bây giờ, hãy tưởng tượng rằng bạn cần sử dụng lại một đoạn mã không phải 1, 2 hay 3 lần mà là hàng chục lần. Một cách để khắc phục vấn đề này là sử dụng hàm. Bạn có thể tìm kiếm thêm thông tin về chúng trên Internet hoặc xem Chương “10” [Chức năng]

Nếu chúng tôi đã viết tất cả một cách chính xác, thì vấn đề đã được giải quyết

Thử nghiệm trong Hệ thống Thẩm phán

Kiểm tra giải pháp của bạn ở đây.

Chúng ta đã học được gì từ chương này?

Chúng tôi đã tìm hiểu về một trong những cách để tạo chuỗi

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
4

Chúng tôi đã học cách vẽ hình bằng cách sử dụng vòng lặp

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
6 lồng nhau

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]

phòng thí nghiệm. Vẽ hình trong môi trường web

Bây giờ chúng ta đã quen với các vòng lặp lồng nhau và cách sử dụng chúng để vẽ các hình trên bảng điều khiển, chúng ta có thể tìm hiểu một thứ thậm chí còn thú vị hơn. chúng ta có thể thấy cách vòng lặp có thể được sử dụng để vẽ trong môi trường Web. Chúng tôi sẽ tạo một ứng dụng web trực quan hóa xếp hạng số [một số từ 0 đến 100] với các ngôi sao. Loại trực quan hóa này phổ biến trong các trang web thương mại điện tử, đánh giá sản phẩm, xếp hạng sự kiện, xếp hạng ứng dụng và các trang khác

Đừng lo lắng nếu bạn không hiểu tất cả mã, nó được viết chính xác như thế nào và dự án hoạt động như thế nào. Đó là điều bình thường, bây giờ chúng tôi đang học viết mã và chúng tôi còn lâu mới đạt được các công nghệ phát triển web. Nếu bạn gặp khó khăn trong việc viết dự án của mình bằng cách làm theo các bước, hãy yêu cầu trợ giúp trong Cộng đồng Reddit của SoftUni. https. //www. reddit. com/r/softuni/

Vấn đề. Xếp hạng – Trực quan hóa trong môi trường Web

Phát triển một ứng dụng web để đánh giá trực quan [số từ 0 đến 100]. Vẽ từ 1 đến 10 sao [với một nửa]. Các ngôi sao được tạo ra với chu kỳ

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
6

Gợi ý và hướng dẫn

Chúng tôi bắt đầu bằng cách tạo một dự án mới trong PyCharm từ [Tệp] -> [Dự án mới] [hoặc từ cửa sổ bắt đầu]

Chúng tôi đặt tên có ý nghĩa cho dự án, ví dụ: "Xếp hạng". Chúng tôi chọn loại trình thông dịch Python hiện tại. Hãy để điều này là mặc định

Chúng tôi sẽ lại sử dụng thư viện Flask, được sử dụng để tạo các ứng dụng web. Trước khi có thể bắt đầu viết mã, chúng ta cần cài đặt Flask. Hãy nhớ lại làm thế nào để làm điều này. Chúng tôi chuyển đến cài đặt của PyCharm [Tệp] -> [Cài đặt] -> [Dự án. Xếp hạng] -> [Thông dịch viên dự án]. Ở đó, chúng tôi nhấn nút

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
71

Tìm Flask trong cửa sổ xuất hiện và nhấp vào nút [Cài đặt gói]

Chúng tôi hiện đang thêm cấu trúc của dự án [các tệp phân công cho dự án này có thể được tải xuống từ đây]. Sao chép chúng từ Windows Explorer và dán chúng vào thư mục Dự án xếp hạng bằng Sao chép/Dán

Để mọi thứ hoạt động, chúng ta cần thêm mã. Đầu tiên, chúng tôi đi đến chỉ mục tập tin. html [từ thư mục mẫu] và tìm phần CẦN LÀM. Ở vị trí của họ, chúng tôi nhập mã sau đây.

Đoạn mã trên tạo một biểu mẫu web

với một trường
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
649 để nhập một số trong khoảng [0… 100] và một nút [Tốc độ] để gửi dữ liệu từ biểu mẫu đến máy chủ. Sau đó, vẽ với ba vòng lặp for riêng biệt số lượng ngôi sao tương ứng - đầy, trống một nửa và trống

Hành động sẽ xử lý dữ liệu được gọi là

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
650, có nghĩa là hàm
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
651 trong tệp
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
652

Mã từ hàm

for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
651 lấy số đã nhập
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
654 từ biểu mẫu và chuyển nó tới hàm
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
655. Hàm
for row in range[5]:
    print['*', end='']

    for col in range[4]:
        print[' *', end='']

    print[]
655 tính toán và tính toán số ngôi sao đầy đủ, số ngôi sao trống và số nửa ngôi sao, sau đó tải lại trang, nhưng với những trang mới đã gửi giá trị của các biến cho các ngôi sao. Chúng tôi thực hiện nó như sau

Chúng tôi bắt đầu dự án bằng [Ctrl+Shift+F10] [hoặc bằng [Nút phải] -> [Chạy 'ứng dụng']] và đợi nó tải

Chúng tôi đến địa chỉ được chỉ định và tận hưởng dự án đã hoàn thành

Nếu bạn gặp vấn đề với dự án mẫu ở trên, bạn có thể đặt câu hỏi trong Cộng đồng Reddit của SoftUni. https. //www. reddit. com/r/softuni/

Vòng lặp lồng nhau hoạt động như thế nào trong Python?

trả lời 2. Một vòng lặp while lồng nhau về cơ bản là một câu lệnh while bên trong một câu lệnh while khác. Trong một vòng lặp while lồng nhau, một lần lặp của vòng lặp bên ngoài sẽ thực hiện trước, sau đó vòng lặp bên trong sẽ thực hiện. Khi điều kiện của vòng lặp bên trong được thỏa mãn, chương trình sẽ chuyển sang lần lặp tiếp theo của vòng lặp bên ngoài

Có giới hạn nào đối với các vòng lặp lồng nhau trong Python không?

Mặc dù Python không có giới hạn kỹ thuật để hiểu các vòng lặp for lồng nhau phức tạp, nhưng có giới hạn về con người . Nếu bạn có một đoạn mã phức tạp với nhiều vòng lặp for hoặc các hàm và điều kiện phức tạp, việc sử dụng vòng lặp for lồng nhau thực sự có thể khiến mã của bạn khó hiểu hơn.

Các vòng lặp lồng nhau khác nhau có sẵn trong Python là gì?

Trong ngôn ngữ lập trình Python có hai loại vòng lặp là vòng lặp for và vòng lặp while .

3 loại vòng lặp trong Python là gì?

Loại vòng lặp .
cho vòng lặp. Vòng lặp for trong Python được sử dụng để lặp qua một chuỗi [danh sách, bộ dữ liệu, bộ, từ điển và chuỗi]. Sơ đồ. .
Trong khi lặp lại. Vòng lặp while được sử dụng để thực thi một tập hợp các câu lệnh miễn là một điều kiện là đúng. .
Vòng lặp lồng nhau. Nếu một vòng lặp tồn tại bên trong phần thân của một vòng lặp khác, nó được gọi là vòng lặp lồng nhau

Chủ Đề