Trong Python các câu lệnh (statement) được thực hiện một cách tuần tự từ trên xuống dưới. Tuy nhiên đôi khi bạn muốn thực hiện một khối các câu lệnh nhiều lần, bạn có thể sử dụng vòng lặp (loop).
Hướng dẫn thực hành với các cấu trúc điều khiển lặp for trong lập trình Python:
Cấu trúc điều khiển for: for…range; for…array
Cú pháp:
"""
for range, for...array
# syntax:
for x in range(start, stop):
statement
#======
for x in list_sequense:
statement
"""
for…range
Ví dụ đơn giản nhất của vòng lặp for trong Python là sử dụng 'for' với 'range' (Phạm vi).
Ví dụ biến 'x' có giá trị chạy trong pham vi (3, 7) (x= 3, 4, 5, 6).
print("For loop example")
# for x = 3, 4, 5, 6
for x in range (3, 7) :
print("Value of x = ", x)
print(" x^2 = ", x * x)
# Dòng lệnh này nằm ngoài khối lệnh for.
print("End of example")
#=========================================================
Kết quả:
For loop example
Value of x = 3
x^2 = 9
Value of x = 4
x^2 = 16
Value of x = 5
x^2 = 25
Value of x = 6
x^2 = 36
End of example
for…list:
Sử dụng vòng lặp for có thể giúp bạn duyệt trên các phần tử của mảng.
Ví dụ:
- Khởi tạo một mảng
- Duyệt và in ra các phần tử
"""
Sử dụng vòng lặp for có thể giúp bạn duyệt trên các phần tử của mảng.
Ví dụ:
- Khởi tạo một mảng
- Duyệt và in ra các phần tử
"""
# Khởi tạo mảng
list=["Devmaster","Academy"]
for item in list:
print(item)
# Câu lệnh này ngoài vòng lặp for
print("-------------------")
print("Finish")
#=========================================================
Kết quả:
Devmaster
Academy
-------------------
Finish
Duyệt các phần tử của mảng thông qua chỉ số (index):
# Khởi tạo mảng
list=["Viện","Công","Nghệ","Và","Đào","Tạo","Devmaster"]
print("Duyệt các phần tử của mảng thông qua chỉ số:")
# Hàm len() trả về số phần tử của mảng.
# index = 0,1,.. len-1
for index in range(len(list)):
print(index, list[index] )
#=========================================================
Kết quả:
Duyệt các phần tử của mảng thông qua chỉ số:
0 Viện
1 Công
2 Nghệ
3 Và
4 Đào
5 Tạo
6 Devmaster
Sử dụng break trong vòng lặp
Ví dụ:
print("Ví dụ về break")
# Tạo một biến x và gán giá trị 2 cho nó.
x = 2
while (x < 15) :
print("----------------------\n")
print("x = ", x)
# Kiểm tra nếu x = 5 thì thoát ra khỏi vòng lặp.
if (x == 5) :
break
# Tăng giá trị của x thêm 1
x = x + 1
print("x after + 1 = ", x)
print("Kết thúc")
#=========================================================
Kết quả:
x = 2
x after + 1 = 3
----------------------
x = 3
x after + 1 = 4
----------------------
x = 4
x after + 1 = 5
----------------------
x = 5
Kết thúc
Sử dụng continue trong vòng lặp
Sử dụng continue trong vòng lặp
Ví dụ:
"""
Ví dụ về continue
- Nhập vào số nguyên dương n
- In ra các số tự nhiên
"""
# Nhập số n
n=int(input("Nhập số n="))
x=1
while x
if x%3==0:
x +=1 # tăng x lên 1
continue # bắt đầu vòng lặp mới và không in
print(x)
x +=1
print("Kết thúc")
#=========================================================
Kết quả:
Nhập số n=10
1
2
4
5
7
8
Kết thúc
NẾU BẠN NGỦ QUÊN TRONG CUỘC SỐNG
THỨ BẠN NHẬN ĐƯỢC CHỈ LÀ NHỮNG GIẤC MƠ
Practical for in python
Ví dụ 1:
# 1. kiểm tra số n có phải là số nguyên tố không?
n = int(input("Nhập n:"))
# xử lý
flag = True # Giả định n là số nguyên tố
for x in range(2, int(n/2)+1):
if n % x == 0:
flag = False
break
# kết thức for
if flag == True:
print(n, " là số nguyên tố")
else:
print(n, " không phải là số nguyên tố")
# /== end
Kết quả:
Nhập n:10
10 không phải là số nguyên tố
Nhập n:19
19 là số nguyên tố
Ví dụ 2:
# 2. In ra các số nguyên tố <=n, tính tổng
n = int(input("Nhập n:"))
print("Dãy các số nguyên tố <=:", n)
tong = 0
for i in range(1, n+1):
flag = True # Giả định i là số nguyên tố
for j in range(2, int(i/2) + 1):
if i % j == 0:
flag = False
break
# / end for check j->
if flag == True:
print(i, end="; ")
tong = tong + i
print("\nTổng:", tong)
# /=End for i: 1=>n
Kết quả:
Dãy các số nguyên tố <=: 10
1; 2; 3; 5; 7;
Tổng: 18
Ví dụ 3:
# 3. kiểm tra số n có phải là số chính phương không?
n = int(input("Nhập n:"))
# xử lý
flag = False # Giả định n không là số chính phương
for x in range(2, int(n/2)+1):
if (x**2 == n):
flag = True
break
# kết thức for
if flag == True:
print(n, " là số chính phương")
else:
print(n, " không phải là số chính phương")
# /== end
Kết quả:
Nhập n:10
10 không phải là số chính phương
Nhập n:16
16 là số chính phương
Ví dụ 4:
# 4. In ra các số chính phương <=n, tính tổng
n = int(input("Nhập n:"))
print("Dãy các số chính phương <=:", n)
tong = 0
for i in range(1, n+1):
flag = False # Giả định i là số chính phương
for j in range(2, int(i/2) + 1):
if j**2 == i:
flag = True
break
# / end for check j->
if flag == True:
print(i, end="; ")
tong = tong + i
print("\nTổng:", tong)
# /=End for i: 1=>n
Kết quả:
Nhập n:50
Dãy các số chính phương <=: 50
4; 9; 16; 25; 36; 49;
Tổng: 139
Ví dụ 5:
# 5. Sử dụng vòng lặp lồng nhau để in tam giá sao (*)
"""
input n=5
output:
n=5
*
* *
* * *
* * * *
* * * * *
/=end
"""
# Hướng dẫn
"""
- Vòng for (i) lặp theo dòng từ 1 -> n
- Vòng for (j) lặp theo cột 1-> i => In ra *
-> In hết for trong, xuống dòng end='\n'
___________________________________________
"""
Code:
n = int(input("Nhập n="))
print("n=", n)
for i in range(1, n+1):
for j in range(1, i+1):
print(" * ", end="")
print(end="\n\n")
# /=end ==============================
Ví dụ 6:
"""
# 6. Sử dụng vòng lặp lồng nhau để in tam giá sao (*)
input n=5
output:
n=5
* * * * *
* * * *
* * *
* *
*
/=end
"""
# Hướng dẫn:
"""
- Vòng for (i) ngoài lặp từ 1 -> n+1 => lặp theo hàng
- Vòng for (j) bên trong lặp từ 1-> (n+1) - i => lặp in theo cột
Ex: n=5
i=1
=> lặp n+1 - i vòng = 5 vòng
j=1-5: * * * * *
i=2
=> j lặp n+1-i = 5+1-2 = 4 vòng
* * * *
...
i=5
=> j lặp n+1-i = 5+1-5 = 1 vòng
*
_______________________________________
"""
Code:
n = int(input("Nhập n="))
print("n=", n)
for i in range(1, n+1):
for j in range(1, n+1-i+1):
print(" * ", end="")
print(end="\n\n")
# /End for tam giác 2
# /=end ==========================
Tính giá trị biểu thức: ví dụ n=9
y – 1/3 * (!y3) + 1/5*(!y5) – 1/7 *(!y7) + 1/9*(!y9)
Devmaster Academy via Chung Trịnh