Khám Phá Vòng Lặp for Trong Python với 20 Bài Tập Thú Vị Có Lời Giải | Laptrinhcanban.com

HOME › >>

Khám Phá Vòng Lặp for Trong Python với 20 Bài Tập Thú Vị Có Lời Giải

Python là một ngôn ngữ lập trình mạnh mẽ với nhiều tính năng, trong đó có vòng lặp for, là một công cụ quan trọng để lặp qua và xử lý dữ liệu. Để hiểu sâu hơn về cách sử dụng vòng lặp for, dưới đây là 20 bài tập thú vị mà bạn có thể thử qua.

In Ra Các Số Từ 1 Đến 10

Bài tập

Sử dụng vòng lặp for để in ra các số từ 1 đến 10.

Hướng dẫn

Để in ra các số từ 1 đến 10 bằng vòng lặp for trong Python, bạn có thể sử dụng hàm range() để tạo một dãy số từ 1 đến 10 và sau đó lặp qua từng số trong dãy đó để in chúng ra màn hình. Dưới đây là cách bạn có thể thực hiện điều này:

for i in range(1, 11):
print(i)

Trong đoạn mã trên:

  • range(1, 11) tạo ra một dãy số từ 1 đến 10 (đã bao gồm số 1 và không bao gồm số 11).
  • Vòng lặp for lặp qua từng số trong dãy này.
  • Mỗi số trong dãy được in ra màn hình.

Kết quả sẽ là in ra các số từ 1 đến 10 trên mỗi dòng.

Tính Tổng Các Số Từ 1 Đến 100

Bài tập

Sử dụng vòng lặp for để tính tổng các số từ 1 đến 100.

Hướng dẫn

Để tính tổng các số từ 1 đến 100 bằng vòng lặp for trong Python, bạn có thể sử dụng một biến để tích lũy tổng và lặp qua các số từ 1 đến 100 để cộng vào biến đó. Dưới đây là cách bạn có thể thực hiện điều này:

tong = 0
for i in range(1, 101):
tong += i

print("Tổng các số từ 1 đến 100 là:", tong)

Trong đoạn mã trên:

  • Chúng ta khởi tạo biến tong bằng 0 để tích lũy tổng.
  • Vòng lặp for lặp qua từng số trong dãy số từ 1 đến 100.
  • Mỗi số trong dãy được cộng vào biến tong.
  • Cuối cùng, chúng ta in ra tổng các số từ 1 đến 100.

In Ra Các Số Chẵn Từ 1 Đến 20

Bài tập

Sử dụng vòng lặp for để in ra các số chẵn từ 1 đến 20.

Hướng dẫn

Để in ra các số chẵn từ 1 đến 20 bằng vòng lặp for trong Python, bạn có thể sử dụng hàm range() để tạo một dãy số từ 1 đến 20 và chỉ lặp qua các số chẵn trong dãy đó để in chúng ra màn hình. Dưới đây là cách bạn có thể thực hiện điều này:

for i in range(2, 21, 2):
print(i)

Trong đoạn mã trên:

  • range(2, 21, 2) tạo ra một dãy số từ 2 đến 20 với bước nhảy là 2, nghĩa là chỉ lặp qua các số chẵn.
  • Vòng lặp for lặp qua từng số chẵn trong dãy này.
  • Mỗi số chẵn trong dãy được in ra màn hình.

Kết quả sẽ là in ra các số chẵn từ 1 đến 20 trên mỗi dòng.

In Ra Bảng Cửu Chương

Bài tập

Sử dụng vòng lặp for để in ra bảng cửu chương từ 1 đến 10.

Hướng dẫn

Để in ra bảng cửu chương từ 1 đến 10 bằng vòng lặp for trong Python, bạn có thể sử dụng hai vòng lặp lồng nhau. Vòng lặp ngoài sẽ duyệt qua các số từ 1 đến 10 (để in ra bảng cửu chương từ 1 đến 10), và vòng lặp trong sẽ duyệt qua các số từ 1 đến 10 để nhân với số trong bảng cửu chương. Dưới đây là cách bạn có thể thực hiện điều này:

for i in range(1, 11):
print(f"Bảng cửu chương {i}:")
for j in range(1, 11):
print(f"{i} x {j} = {i*j}")
print() # In một dòng trống để phân biệt giữa các bảng cửu chương

Trong đoạn mã trên:

  • Vòng lặp for bên ngoài lặp qua các số từ 1 đến 10 để xác định số trong bảng cửu chương.
  • Trong mỗi vòng lặp bên ngoài, chúng ta in ra tiêu đề của bảng cửu chương.
  • Vòng lặp for bên trong lặp qua các số từ 1 đến 10 để nhân với số trong bảng cửu chương.
  • Mỗi lần lặp, chúng ta in ra phép tính và kết quả của phép nhân.
  • Cuối cùng, chúng ta in một dòng trống để phân biệt giữa các bảng cửu chương.

Kết quả sẽ là in ra bảng cửu chương từ 1 đến 10, mỗi bảng cách nhau bởi một dòng trống.

Tính Giai Thừa

Bài tập

Sử dụng vòng lặp for để tính giai thừa của một số nhập từ bàn phím.

Hướng dẫn

Để tính giai thừa của một số nhập từ bàn phím bằng vòng lặp for trong Python, bạn có thể sử dụng một vòng lặp để nhân từng số từ 1 đến số nhập vào với nhau. Dưới đây là cách bạn có thể thực hiện điều này:

# Nhập số cần tính giai thừa từ bàn phím
n = int(input("Nhập số cần tính giai thừa: "))

# Khởi tạo biến tích lũy giai thừa
giai_thua = 1

# Tính giai thừa sử dụng vòng lặp for
for i in range(1, n + 1):
giai_thua *= i

# In kết quả ra màn hình
print(f"Giai thừa của {n} là: {giai_thua}")

Trong đoạn mã trên:

  • Chúng ta sử dụng hàm input() để nhập số cần tính giai thừa từ bàn phím và chuyển đổi nó thành một số nguyên bằng hàm int().
  • Khởi tạo biến giai_thua bằng 1 để tích lũy kết quả của các phép nhân.
  • Sử dụng vòng lặp for để lặp qua các số từ 1 đến n và nhân chúng với nhau để tính giai thừa.
  • Cuối cùng, chúng ta in kết quả giai thừa ra màn hình.

In Ra Các Ký Tự Trong Một Chuỗi

Bài tập

Sử dụng vòng lặp for để in ra từng ký tự trong một chuỗi.

Hướng dẫn

Để in ra từng ký tự trong một chuỗi bằng vòng lặp for trong Python, bạn có thể sử dụng vòng lặp để lặp qua từng ký tự trong chuỗi đó và in chúng ra màn hình. Dưới đây là cách bạn có thể thực hiện điều này:

chuoi = "Hello, World!"

# Sử dụng vòng lặp for để lặp qua từng ký tự trong chuỗi
for ky_tu in chuoi:
print(ky_tu)

Trong đoạn mã trên:

  • Biến chuoi chứa chuỗi cần in ra từng ký tự.
  • Vòng lặp for lặp qua từng ký tự trong chuỗi chuoi.
  • Mỗi ký tự trong chuỗi được lặp qua được lưu vào biến ky_tu.
  • Trong mỗi lần lặp, chúng ta in ra ký tự đó ra màn hình.

Kết quả sẽ là in ra từng ký tự trong chuỗi “Hello, World!” trên mỗi dòng.

Tìm Số Lớn Nhất Trong Một Danh Sách

Bài tập

Sử dụng vòng lặp for để tìm số lớn nhất trong một danh sách.

Hướng dẫn

Để tìm số lớn nhất trong một danh sách bằng vòng lặp for trong Python, bạn có thể sử dụng một biến để lưu số lớn nhất và duyệt qua từng phần tử trong danh sách để so sánh với số lớn nhất hiện tại. Dưới đây là cách bạn có thể thực hiện điều này:

danh_sach = [12, 45, 78, 23, 56, 89, 34]

# Khởi tạo số lớn nhất bằng phần tử đầu tiên của danh sách
so_lon_nhat = danh_sach[0]

# Duyệt qua từng phần tử trong danh sách để tìm số lớn nhất
for so in danh_sach:
if so > so_lon_nhat:
so_lon_nhat = so

print("Số lớn nhất trong danh sách là:", so_lon_nhat)

Trong đoạn mã trên:

  • Biến danh_sach là danh sách chứa các số cần tìm số lớn nhất.
  • Biến so_lon_nhat được khởi tạo bằng phần tử đầu tiên của danh sách.
  • Vòng lặp for duyệt qua từng phần tử trong danh sách.
  • Mỗi lần lặp, chúng ta so sánh phần tử hiện tại với so_lon_nhat. Nếu phần tử hiện tại lớn hơn so_lon_nhat, chúng ta cập nhật so_lon_nhat.
  • Cuối cùng, chúng ta in ra số lớn nhất trong danh sách.

Tính Tổng Các Phần Tử Trong Một Danh Sách

Bài tập

Sử dụng vòng lặp for để tính tổng các phần tử trong một danh sách.

Hướng dẫn

Để tính tổng các phần tử trong một danh sách bằng vòng lặp for trong Python, bạn có thể sử dụng một biến để tích lũy tổng và duyệt qua từng phần tử trong danh sách để cộng vào biến đó. Dưới đây là cách bạn có thể thực hiện điều này:

danh_sach = [10, 20, 30, 40, 50]

# Khởi tạo biến tổng
tong = 0

# Duyệt qua từng phần tử trong danh sách để tính tổng
for phan_tu in danh_sach:
tong += phan_tu

print("Tổng các phần tử trong danh sách là:", tong)

Trong đoạn mã trên:

  • Biến danh_sach là danh sách chứa các phần tử cần tính tổng.
  • Biến tong được khởi tạo bằng 0 để tích lũy tổng.
  • Vòng lặp for duyệt qua từng phần tử trong danh sách.
  • Mỗi lần lặp, chúng ta cộng phần tử hiện tại vào biến tong.
  • Cuối cùng, chúng ta in ra tổng của các phần tử trong danh sách.

Kiểm Tra Số Nguyên Tố

Bài tập

Sử dụng vòng lặp for để kiểm tra xem một số có phải là số nguyên tố hay không.

Hướng dẫn

Để kiểm tra xem một số có phải là số nguyên tố hay không bằng vòng lặp for trong Python, chúng ta có thể duyệt qua tất cả các số từ 2 đến căn bậc hai của số đó và kiểm tra xem có số nào chia hết cho số đó không. Nếu không có số nào chia hết cho số đó, thì số đó là số nguyên tố. Dưới đây là cách bạn có thể thực hiện điều này:

def kiem_tra_so_nguyen_to(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True

# Số cần kiểm tra
so = 17

# Kiểm tra xem số đó có phải là số nguyên tố hay không
if kiem_tra_so_nguyen_to(so):
print(so, "là số nguyên tố.")
else:
print(so, "không phải là số nguyên tố.")

Trong đoạn mã trên:

  • Hàm kiem_tra_so_nguyen_to(n) nhận vào một số n và kiểm tra xem nó có phải là số nguyên tố hay không.
  • Trong vòng lặp for, chúng ta duyệt qua các số từ 2 đến căn bậc hai của n.
  • Nếu có số nào chia hết cho n, tức là n không phải là số nguyên tố và chúng ta trả về False.
  • Nếu không có số nào chia hết cho n, chúng ta trả về True.
  • Cuối cùng, chúng ta kiểm tra kết quả của hàm và in ra thông báo tương ứng. Trong ví dụ này, số 17 là một số nguyên tố.

In Ra Các Số Fibonacci

Bài tập

Sử dụng vòng lặp for để in ra các số Fibonacci đầu tiên trong dãy Fibonacci.

Hướng dẫn

Để in ra các số Fibonacci đầu tiên trong dãy Fibonacci bằng vòng lặp for trong Python, chúng ta có thể sử dụng một biến để lưu hai số Fibonacci đầu tiên (0 và 1), sau đó sử dụng một vòng lặp để tính toán và in ra các số Fibonacci tiếp theo. Dưới đây là cách bạn có thể thực hiện điều này:

# Số lượng số Fibonacci đầu tiên cần in ra
so_luong = 10

# Khởi tạo hai số Fibonacci đầu tiên
a, b = 0, 1

# In hai số Fibonacci đầu tiên
print("Các số Fibonacci đầu tiên:")
print(a)
print(b)

# Sử dụng vòng lặp để tính và in ra các số Fibonacci tiếp theo
for _ in range(so_luong - 2):
a, b = b, a + b
print(b)

Trong đoạn mã trên:

  • Biến so_luong chứa số lượng số Fibonacci đầu tiên cần in ra.
  • Hai biến ab được khởi tạo bằng 0 và 1 để lưu hai số Fibonacci đầu tiên.
  • Hai số Fibonacci đầu tiên (0 và 1) được in ra trước.
  • Vòng lặp for tính và in ra các số Fibonacci tiếp theo. Trong mỗi lần lặp, chúng ta cập nhật ab để tính toán số Fibonacci kế tiếp.
  • Chúng ta sử dụng một biến _ để thể hiện rằng biến này chỉ là một biến tạm thời không được sử dụng trong vòng lặp, chỉ cần lặp so_luong - 2 lần (vì đã in ra hai số Fibonacci đầu tiên trước đó).

Đảo Ngược Một Chuỗi

Bài tập

Sử dụng vòng lặp for để đảo ngược một chuỗi.

Hướng dẫn

Để đảo ngược một chuỗi bằng cách sử dụng vòng lặp for trong Python, bạn có thể lặp qua các ký tự của chuỗi theo thứ tự từ cuối về đầu và xây dựng một chuỗi mới bằng cách thêm các ký tự vào đầu của chuỗi mới. Dưới đây là cách bạn có thể thực hiện điều này:

def dao_nguoc_chuoi(chuoi):
chuoi_dao_nguoc = ""
for char in chuoi:
chuoi_dao_nguoc = char + chuoi_dao_nguoc
return chuoi_dao_nguoc

# Ví dụ:
chuoi_ban_dau = "Hello, World!"
chuoi_dao_nguoc = dao_nguoc_chuoi(chuoi_ban_dau)
print("Chuỗi ban đầu:", chuoi_ban_dau)
print("Chuỗi sau khi đảo ngược:", chuoi_dao_nguoc)

Output:

Chuỗi ban đầu: Hello, World!
Chuỗi sau khi đảo ngược: !dlroW ,olleH

Trong hàm dao_nguoc_chuoi(), chúng ta khởi tạo chuỗi chuoi_dao_nguoc ban đầu là một chuỗi rỗng. Sau đó, chúng ta lặp qua từng ký tự trong chuoi, bắt đầu từ ký tự cuối cùng đến ký tự đầu tiên. Trong mỗi lần lặp, chúng ta thêm ký tự hiện tại vào đầu của chuỗi chuoi_dao_nguoc. Cuối cùng, chúng ta trả về chuỗi chuoi_dao_nguoc đã được đảo ngược.

In Ra Bảng ASCII

Bài tập

Sử dụng vòng lặp for để in ra bảng mã ASCII từ 0 đến 127.

Hướng dẫn

Để in ra bảng mã ASCII từ 0 đến 127 bằng vòng lặp for trong Python, bạn có thể sử dụng vòng lặp để lặp qua các số từ 0 đến 127 và in ra ký tự tương ứng với mã ASCII của từng số. Dưới đây là cách thực hiện:

for i in range(128):
print("Mã ASCII của", i, "là:", chr(i))

Trong đó:

  • range(128) tạo ra một chuỗi số từ 0 đến 127.
  • chr(i) trả về ký tự tương ứng với mã ASCII của số i.

Dưới đây là đoạn mã hoàn chỉnh:

for i in range(128):
print("Mã ASCII của", i, "là:", chr(i))

Kết quả sẽ là in ra bảng mã ASCII từ 0 đến 127, với mỗi dòng hiển thị mã ASCII và ký tự tương ứng.

Tính Tổng Các Chữ Số Của Một Số

Bài tập

Sử dụng vòng lặp for để tính tổng các chữ số của một số nhập từ bàn phím.

Hướng dẫn

Để tính tổng các chữ số của một số nhập từ bàn phím bằng vòng lặp for trong Python, bạn có thể sử dụng phép chia lấy dư để lấy từng chữ số ra khỏi số đó và sau đó cộng các chữ số đó lại với nhau. Dưới đây là cách bạn có thể thực hiện điều này:

# Nhập số từ bàn phím
so = int(input("Nhập một số nguyên dương: "))

# Khởi tạo biến tổng
tong = 0

# Sử dụng vòng lặp để lấy từng chữ số và tính tổng
while so > 0:
chu_so = so % 10 # Lấy chữ số cuối cùng của số
tong += chu_so # Cộng chữ số vào tổng
so //= 10 # Loại bỏ chữ số cuối cùng

print("Tổng các chữ số của số đã nhập là:", tong)

Trong đoạn mã trên:

  • Chúng ta sử dụng hàm input() để nhập số từ bàn phím và chuyển đổi nó thành một số nguyên bằng hàm int().
  • Biến tong được khởi tạo bằng 0 để tích lũy tổng các chữ số.
  • Trong vòng lặp while, chúng ta lặp qua các chữ số của số nhập vào. Mỗi lần lặp, chúng ta lấy chữ số cuối cùng ra khỏi số và cộng vào biến tong, sau đó loại bỏ chữ số đó khỏi số.
  • Quá trình lặp tiếp tục cho đến khi số đó trở thành 0, tức là chúng ta đã lấy hết tất cả các chữ số của số nhập vào.

Kiểm Tra Số Hoàn Hảo

Bài tập

Sử dụng vòng lặp for để kiểm tra xem một số có phải là số hoàn hảo hay không.

Hướng dẫn

Để kiểm tra xem một số có phải là số hoàn hảo hay không bằng vòng lặp for trong Python, bạn có thể tính tổng của tất cả các ước số của số đó và so sánh tổng đó với chính số đó. Nếu tổng các ước số bằng số đó, thì số đó là số hoàn hảo.

Dưới đây là cách bạn có thể thực hiện điều này:

def kiem_tra_so_hoan_hao(so):
tong_uoc = 0
for i in range(1, so):
if so % i == 0:
tong_uoc += i
if tong_uoc == so:
return True
else:
return False

# Số cần kiểm tra
so = 28

# Kiểm tra xem số đó có phải là số hoàn hảo hay không
if kiem_tra_so_hoan_hao(so):
print(so, "là số hoàn hảo.")
else:
print(so, "không phải là số hoàn hảo.")

Trong đoạn mã trên:

  • Hàm kiem_tra_so_hoan_hao(so) nhận vào một số so và kiểm tra xem số đó có phải là số hoàn hảo hay không.
  • Chúng ta duyệt qua các số từ 1 đến số đó và tính tổng các ước số của số đó bằng cách sử dụng vòng lặp for.
  • Nếu tổng các ước số bằng số đó, chúng ta trả về True, ngược lại trả về False.

Kết quả sẽ là thông báo xác định xem số đó có phải là số hoàn hảo hay không. Trong ví dụ này, số 28 là một số hoàn hảo vì tổng các ước số của nó (1 + 2 + 4 + 7 + 14) bằng chính nó (28).

Tính Tổng Các Số Fibonacci

Bài tập

Sử dụng vòng lặp for để tính tổng các số Fibonacci đầu tiên trong dãy Fibonacci.

Hướng dẫn

Để tính tổng của n số Fibonacci đầu tiên trong dãy Fibonacci bằng vòng lặp for trong Python, bạn có thể sử dụng một vòng lặp để tính toán và tích lũy tổng của các số Fibonacci. Dưới đây là cách bạn có thể thực hiện điều này:

def tong_n_so_fibonacci(n):
# Khởi tạo các biến ban đầu của dãy Fibonacci
fib1 = 0
fib2 = 1
tong = fib1 + fib2

# Tính tổng của n số Fibonacci đầu tiên
for _ in range(2, n):
fib = fib1 + fib2
tong += fib
fib1, fib2 = fib2, fib

return tong

# Số lượng số Fibonacci đầu tiên cần tính tổng
n = 10
tong = tong_n_so_fibonacci(n)
print("Tổng của", n, "số Fibonacci đầu tiên là:", tong)

Trong đoạn mã trên:

  • Hàm tong_n_so_fibonacci(n) được tạo để tính tổng của n số Fibonacci đầu tiên.
  • Ban đầu, chúng ta khởi tạo biến fib1fib2 là 0 và 1 tương ứng với hai số Fibonacci đầu tiên.
  • Chúng ta sử dụng một vòng lặp for để tính toán các số Fibonacci tiếp theo và tích lũy tổng của chúng.
  • Cuối cùng, chúng ta trả về tổng của n số Fibonacci đầu tiên.

Kết quả sẽ là tổng của n số Fibonacci đầu tiên được in ra màn hình. Trong ví dụ này, chúng ta tính tổng của 10 số Fibonacci đầu tiên.

Tính Lũy Thừa

Bài tập

Sử dụng vòng lặp for để tính lũy thừa của một số.

Hướng dẫn

Để tính lũy thừa của một số bằng vòng lặp for trong Python, bạn có thể sử dụng một vòng lặp để nhân số đó với chính nó n lần. Dưới đây là cách bạn có thể thực hiện điều này:

def luy_thua(x, n):
ket_qua = 1
for _ in range(n):
ket_qua *= x
return ket_qua

# Số cần tính lũy thừa
so = 2
# Số mũ
mu = 5

luy_thua = luy_thua(so, mu)
print(f"{so}{mu} là: {luy_thua}")

Trong đoạn mã trên:

  • Hàm luy_thua(x, n) nhận vào hai tham số là số cần tính lũy thừa (x) và số mũ (n).
  • Chúng ta khởi tạo biến ket_qua bằng 1, vì mọi số mũ của 1 đều là 1.
  • Chúng ta sử dụng vòng lặp for để nhân số x với chính nó n lần.
  • Cuối cùng, chúng ta trả về ket_qua - tức là kết quả của phép tính lũy thừa.

Kết quả sẽ là lũy thừa của số so với số mũ mu được in ra màn hình. Trong ví dụ này, chúng ta tính lũy thừa của số 2 với số mũ 5.

Tìm Ước Số Chung Lớn Nhất (ƯCLN)

Bài tập

Sử dụng vòng lặp for để tìm ước số chung lớn nhất của hai số.

Hướng dẫn

Để tìm ước số chung lớn nhất (ƯCLN) của hai số bằng vòng lặp for trong Python, bạn có thể sử dụng một phương pháp gọi là thuật toán Euclid. Thuật toán này dựa trên việc lặp qua các bước tính toán cho đến khi một trong hai số là 0. Khi một trong hai số là 0, số còn lại sẽ là ước số chung lớn nhất.

Dưới đây là cách bạn có thể thực hiện điều này:

def uoc_so_chung_lon_nhat(a, b):
while b:
a, b = b, a % b
return a

# Đầu vào
so1 = 24
so2 = 36

# Tìm ước số chung lớn nhất
uoc_chung_lon_nhat = uoc_so_chung_lon_nhat(so1, so2)
print(f"Ước số chung lớn nhất của {so1}{so2} là: {uoc_chung_lon_nhat}")

Trong đoạn mã trên:

  • Hàm uoc_so_chung_lon_nhat(a, b) nhận vào hai số ab và sử dụng thuật toán Euclid để tìm ước số chung lớn nhất của chúng.
  • Trong vòng lặp while, chúng ta thực hiện các phép gán để chia số a cho số b và gán kết quả vào b, đồng thời gán b thành phần dư của phép chia trước đó.
  • Khi b trở thành 0, ta trả về a, tức là số còn lại là ước số chung lớn nhất.

Kết quả sẽ là ước số chung lớn nhất của hai số so1so2. Trong ví dụ này, ước số chung lớn nhất của 24 và 36 là 12.

Kiểm Tra Số Armstrong

Bài tập

Sử dụng vòng lặp for để kiểm tra xem một số có phải là số Armstrong hay không.

Hướng dẫn

Để kiểm tra xem một số có phải là số Armstrong hay không bằng vòng lặp for trong Python, bạn có thể thực hiện các bước sau:

  1. Chia số đó thành các chữ số riêng lẻ.
  2. Tính lũy thừa của mỗi chữ số và tính tổng các lũy thừa này.
  3. So sánh tổng này với số ban đầu để xác định xem nó có phải là số Armstrong hay không.

Dưới đây là cách bạn có thể thực hiện điều này:

def kiem_tra_armstrong(so):
# Chuyển số thành chuỗi để dễ dàng truy cập từng chữ số
chuoi_so = str(so)
# Tính số chữ số trong số ban đầu
so_chu_so = len(chuoi_so)
# Khởi tạo biến tổng
tong = 0

# Tính tổng các lũy thừa của từng chữ số
for digit in chuoi_so:
tong += int(digit) ** so_chu_so

# So sánh tổng với số ban đầu
if tong == so:
return True
else:
return False

# Đầu vào
so = 153

# Kiểm tra xem số đó có phải là số Armstrong hay không
if kiem_tra_armstrong(so):
print(so, "là số Armstrong.")
else:
print(so, "không phải là số Armstrong.")

Trong đoạn mã trên:

  • Hàm kiem_tra_armstrong(so) nhận vào một số và kiểm tra xem nó có phải là số Armstrong hay không.
  • Chúng ta chuyển số thành chuỗi để dễ dàng truy cập từng chữ số riêng lẻ.
  • Sau đó, chúng ta tính số chữ số trong số ban đầu và lưu vào biến so_chu_so.
  • Trong vòng lặp for, chúng ta tính tổng các lũy thừa của từng chữ số bằng cách sử dụng hàm ** để tính lũy thừa.
  • Cuối cùng, chúng ta so sánh tổng này với số ban đầu để xác định xem nó có phải là số Armstrong hay không.

Kiểm Tra Số Palindrome

Bài tập

Sử dụng vòng lặp for để kiểm tra xem một số có phải là số Palindrome hay không.

Hướng dẫn

Để kiểm tra xem một số có phải là số Palindrome hay không bằng vòng lặp for trong Python, bạn có thể thực hiện các bước sau:

  1. Chuyển số thành chuỗi để dễ dàng truy cập từng chữ số.
  2. So sánh các ký tự ở hai đầu của chuỗi để xác định xem chuỗi đó có phải là Palindrome hay không.

Dưới đây là cách bạn có thể thực hiện điều này:

def kiem_tra_palindrome(so):
# Chuyển số thành chuỗi để dễ dàng truy cập từng chữ số
chuoi_so = str(so)
# Số lượng chữ số
n = len(chuoi_so)

# Lặp qua nửa đầu và nửa sau của chuỗi để so sánh
for i in range(n // 2):
if chuoi_so[i] != chuoi_so[n - i - 1]:
return False
return True

# Đầu vào
so = 12321

# Kiểm tra xem số đó có phải là số Palindrome hay không
if kiem_tra_palindrome(so):
print(so, "là số Palindrome.")
else:
print(so, "không phải là số Palindrome.")

Trong đoạn mã trên:

  • Hàm kiem_tra_palindrome(so) nhận vào một số và kiểm tra xem nó có phải là số Palindrome hay không.
  • Chúng ta chuyển số thành chuỗi để dễ dàng truy cập từng chữ số.
  • Trong vòng lặp for, chúng ta so sánh ký tự ở hai đầu của chuỗi để kiểm tra xem chuỗi đó có phải là Palindrome hay không.
  • Nếu mọi ký tự ở hai đầu đều giống nhau, thì số đó là Palindrome và trả về True, ngược lại trả về False.

Sắp Xếp Danh Sách

Bài tập

Sử dụng vòng lặp for để sắp xếp một danh sách theo thứ tự tăng dần hoặc giảm dần.

Hướng dẫn

Để sắp xếp một danh sách theo thứ tự tăng dần hoặc giảm dần bằng vòng lặp for trong Python, bạn có thể sử dụng các thuật toán sắp xếp như Bubble Sort hoặc Selection Sort. Dưới đây là cách bạn có thể thực hiện điều này bằng thuật toán Bubble Sort:

  1. Sắp xếp tăng dần:
def sap_xep_tang_dan(danh_sach):
n = len(danh_sach)
for i in range(n):
for j in range(0, n-i-1):
if danh_sach[j] > danh_sach[j+1]:
danh_sach[j], danh_sach[j+1] = danh_sach[j+1], danh_sach[j]

# Danh sách ban đầu
danh_sach = [64, 25, 12, 22, 11]

# Sắp xếp tăng dần
sap_xep_tang_dan(danh_sach)

# In danh sách sau khi sắp xếp
print("Danh sách sau khi sắp xếp tăng dần:", danh_sach)
  1. Sắp xếp giảm dần:
def sap_xep_giam_dan(danh_sach):
n = len(danh_sach)
for i in range(n):
for j in range(0, n-i-1):
if danh_sach[j] < danh_sach[j+1]:
danh_sach[j], danh_sach[j+1] = danh_sach[j+1], danh_sach[j]

# Danh sách ban đầu
danh_sach = [64, 25, 12, 22, 11]

# Sắp xếp giảm dần
sap_xep_giam_dan(danh_sach)

# In danh sách sau khi sắp xếp
print("Danh sách sau khi sắp xếp giảm dần:", danh_sach)

Trong cả hai trường hợp, chúng ta sử dụng một vòng lặp for lồng nhau để duyệt qua từng phần tử của danh sách và thực hiện việc so sánh và hoán đổi các phần tử nếu cần thiết để đảm bảo danh sách được sắp xếp theo thứ tự tăng dần hoặc giảm dần.

Kết luận

Trên đây Kiyoshi đã giới thiệu một số bài tập vòng lặp for trong python rồi. Với những bài tập trên, bạn có thể thực hành và nắm vững cách sử dụng vòng lặp for trong Python, từ đó nâng cao kỹ năng lập trình của mình và hiểu sâu hơn về ngôn ngữ lập trình này.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/vong-lap-trong-python/bai-tap-vong-lap-for-trong-python/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.