45 phút
Vòng lặp và List Comprehension trong Python
Vòng lặp for
Duyệt qua danh sách
fruits = ["apple", "banana", "orange", "grape"]
# Duyệt trực tiếp
for fruit in fruits:
print(fruit)
# Duyệt với index
for i, fruit in enumerate(fruits):
print(f"{i+1}. {fruit}")
Vòng lặp với range()
# In số từ 1 đến 5
for i in range(1, 6):
print(i)
# In số chẵn từ 2 đến 10
for i in range(2, 11, 2):
print(i)
Vòng lặp while
# Đếm ngược
count = 5
while count > 0:
print(count)
count -= 1
print("Happy New Year!")
# Nhập đến khi đúng
while True:
age = input("Nhập tuổi của bạn: ")
if age.isdigit() and int(age) > 0:
break
print("Vui lòng nhập số tuổi hợp lệ!")
List Comprehension
Cú pháp cơ bản
# Tạo list bình phương
squares = [x**2 for x in range(1, 6)]
print(squares) # [1, 4, 9, 16, 25]
# Lọc số chẵn
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers) # [2, 4, 6, 8, 10]
List Comprehension phức tạp
# Tạo list tuple
pairs = [(x, y) for x in range(1, 4) for y in range(1, 4)]
print(pairs) # [(1, 1), (1, 2), (1, 3), (2, 1), ...]
# Xử lý chuỗi
words = ["hello", "world", "python"]
capitalized = [word.upper() for word in words]
print(capitalized) # ['HELLO', 'WORLD', 'PYTHON']
Kết hợp vòng lặp và điều kiện
# Tìm số nguyên tố
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
primes = [x for x in range(2, 50) if is_prime(x)]
print("Số nguyên tố từ 2 đến 50:", primes)