Module trong python

Bài tập vòng lặp for trong python

Để giúp các bạn thành thạo hơn trong việc sử dụng vòng lặp for trong python.Trong bài viết kì này Lập trình không khó sẽ hướng dẫn các bạn làm một số bài tập nhỏ sử dụng vòng for trong python.

Bài 1: in ra tam giác vuông cân

#chương trình in tam giác vuông cân
for i in range(1,5):
        s = '*'*i
        print(s)

Kết quả:

*
**
***
****

Việc in ra một tam giác vuông cân trong python khá là đơn giản, hãy nhớ đến toán tử * mà mình đã nhắc đến trong bài chuỗi trong python. Toán tử này cho phép chúng ta lặp lại một chuỗi bất kì.

Bài 2: in ra một tam giác cân

#chương trình in tam giác cân
n = 5
for i in range(1, n):
    s = n - i
    k = s * " "
    print(k, end='')
    print(((2 * i) - 1) * '*')

Kết quả:

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

Hãy để ý tới phần kết quả, một hình tam giác cân như thế này gồm 2 phần.

Phần đầu là các khoảng trắng ở trước mỗi dòng.

s = n - i
k = s * " "
print(k, end='')

Đoạn code này có nhiệm vụ in ra các khoảng trắng đó, ở đây có end='' là để sau khi in xong một khoảng trắng thì con trỏ sẽ ở lại hàng đó để tiếp tục in các ngôi sao.

print((2 * i - 1) * '*')

Và cuối cùng, sau khi in khoảng trắng ở mỗi dòng thì sẽ tới phần in các dấu sao ở dòng đó.

Biểu thức (2*i-1) sẽ đảm bảo số sao mỗi dòng là số lẻ, để số sao ở đỉnh là 1 và nằm ở giữa. Còn nếu không nó sẽ thành như thế này:

ví dụ về vòng lặp for trong python

Bài 3: in ra một hình thoi

#chương trình in hình thoi
n = 5
for i in range(1, n):
    s = n - i
    k = s * " "

    print(k, end='')
    print((2 * i - 1) * '*')

#in tam giác cân ngược
for i in range(n, 0, -1):
    s = n - i
    k = s * ' '
    print(k, end='')
    print((2 * i - 1) * '*')

Với việc tạo ra một hình thoi, thì chúng ta chỉ cần có một hình tam giác cân như ở trên. và một phần tam giác cân ngược. Và để tạo được tam giác cân ngược đó thì chúng ta chỉ cần đảo thứ tự lặp của vòng lặp for trong python là được.

Bài 4: in hình bàn cờ

n=9
#vẽ đường biên trên
print('+', end='')
print((n-1)*'-', end='')
print('+')

for i in range(1,n):
    print('|', end='')
    for j in range(1,n):
        if i%2 == j%2:
            print(' ', end='')
        else:
            print('#', end='')
    print('|')

#vẽ đường biên dưới
print('+', end='')
print((n-1)*'-', end='')
print('+')

kết quả:

+--------+
| # # # #|
|# # # # |
| # # # #|
|# # # # |
| # # # #|
|# # # # |
| # # # #|
|# # # # |
+--------+

Nhìn không giống một bàn cờ cho lắm, tuy nhiên nếu xét đúng tỉ lệ thì có lẽ đây cũng được xem là một bàn cờ 8*8.

Điều kiện ở trong if dùng để đảm bảo các ô có số hàng và số cột giống nhau( 1×1, 2×2, 3×3, …) sẽ có cùng một kí tự khoảng trắng, còn các ô có số hàng và số cột khác nhau( 1×2, 1×3, 1×4, …) sẽ có kí tự #. Như vậy 2 kí tự trên sẽ được xen kẽ nhau.

Như vậy, mình vừa hướng dẫn các bạn một số bài tập nhỏ để vận dụng vòng lặp for trong python. Hy vọng bài viết sẽ giúp các bạn trong việc học lập trình python.

Hãy tham gia group lập trình không khó để cùng thảo luận về các vấn đề về lập trình.

Hẹn các bạn vào các bài học sau!!!

Similar Posts

Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments