Python - Bài Tập Mảng

Chào bạn nhé, các nhà lập trình nhân dân! Tôi rất vui được làm hướng dẫn cho bạn trong hành trình hấp dẫn vào thế giới mảng của Python. Là một giáo viên khoa học máy tính với nhiều năm kinh nghiệm, tôi đã thấy rất nhiều học sinh sáng lên với hiểu biết khi họ hiểu các khái niệm này. Hãy bắt đầu nhé, để làm cho các mảng trở nên dễ hiểu và thú vị!

Python - Array Exercises

Mảng là gì?

Trước khi bước vào các ví dụ, hãy bắt đầu với các khái niệm cơ bản. Trong Python, chúng ta không có cấu trúc dữ liệu mảng tích hợp như một số ngôn ngữ khác. Thay vào đó, chúng ta sử dụng các danh sách (list), có thể sử dụng rất linh hoạt và mạnh mẽ. Đối với mục đích của chúng ta hôm nay, chúng ta sẽ sử dụng danh sách như là "mảng" của mình.

Một mảng (hoặc danh sách trong Python) giống như một容器 có thể chứa nhiều mục. Hãy tưởng tượng một tàu điện với một số xe, mỗi xe đựng một mẩu dữ liệu. Đó chính là điều gì mảng trong lập trình!

Ví dụ 1: Tạo và Truy cập Mảng

Hãy bắt đầu với một ví dụ đơn giản:

fruits = ["apple", "banana", "cherry", "date"]
print(fruits[0])  # Output: apple
print(fruits[2])  # Output: cherry

Trong ví dụ này, chúng ta đã tạo một mảng (danh sách) có tên là fruits. Mỗi mục trong mảng có một chỉ số, bắt đầu từ 0. Vì vậy, fruits[0] mang lại cho chúng ta mục đầu tiên, "apple", và fruits[2] mang lại mục thứ ba, "cherry".

Hãy tưởng tượng như là một hàng ghế đựng trong trường học. Nếu bạn đứng ở đầu hàng (chỉ số 0), ghế thứ ba sẽ cách hai bước (chỉ số 2).

Ví dụ 2: Chỉnh sửa Mảng

Các mảng có thể thay đổi, có nghĩa là chúng ta có thể thay đổi chúng sau khi tạo. Hãy xem cách:

numbers = [1, 2, 3, 4, 5]
numbers[2] = 10
print(numbers)  # Output: [1, 2, 10, 4, 5]

numbers.append(6)
print(numbers)  # Output: [1, 2, 10, 4, 5, 6]

numbers.remove(2)
print(numbers)  # Output: [1, 10, 4, 5, 6]

Ở đây, chúng ta đã thực hiện ba thao tác:

  1. Chúng ta đã thay đổi giá trị ở chỉ số 2 từ 3 thành 10.
  2. Chúng ta đã thêm một số mới (6) vào cuối mảng bằng cách sử dụng append().
  3. Chúng ta đã xóa số 2 khỏi mảng bằng cách sử dụng remove().

Đó giống như chỉnh sửa một danh sách phát nhạc. Bạn có thể thay đổi một bài hát (chỉnh sửa), thêm một bài hát mới vào cuối (thêm), hoặc xóa một bài hát mà bạn không thích nữa (xóa).

Ví dụ 3: Lặp qua Mảng

Một trong những tính năng mạnh mẽ nhất của mảng là khả năng xử lý tất cả các mục một cách nhanh chóng. Chúng ta thực hiện điều này bằng cách sử dụng vòng lặp:

colors = ["red", "green", "blue", "yellow"]

# Sử dụng vòng lặp for
for color in colors:
print(f"Tôi yêu {color}!")

# Sử dụng vòng lặp while
i = 0
while i < len(colors):
print(f"Màu tại chỉ số {i} là {colors[i]}")
i += 1

Trong vòng lặp đầu tiên, chúng ta đang nói "Tôi yêu" mỗi màu. Đó giống như đi qua tủ quần áo của bạn và khen ngợi mỗi món quần áo.

Vòng lặp thứ hai sử dụng cách tiếp cận khác. Chúng ta đang tự tăng chỉ số (i) của mình và dừng lại khi đến cuối mảng. Đó giống như đếm bước khi bạn đi qua mỗi mục trong một bảo tàng.

Chương trình Bài tập

Bây giờ, sau khi đã bắt đầu với các khái niệm cơ bản, hãy thử một số bài tập để củng cố những gì chúng ta đã học. Nhớ rằng, luyện tập là chìa khóa để thành thạo!

Bài tập 1: Tổng các phần tử của Mảng

Viết một chương trình tính tổng tất cả các phần tử trong một mảng số.

def sum_array(arr):
total = 0
for num in arr:
total += num
return total

numbers = [1, 2, 3, 4, 5]
print(f"Tổng là: {sum_array(numbers)}")  # Output: Tổng là: 15

Hàm này đi qua mỗi số trong mảng và cộng nó vào tổng chạy. Đó giống như đếm tất cả các xu trong hũ đất của bạn!

Bài tập 2: Tìm phần tử lớn nhất

Tạo một hàm tìm phần tử lớn nhất trong một mảng.

def find_largest(arr):
if len(arr) == 0:
return None
largest = arr[0]
for num in arr:
if num > largest:
largest = num
return largest

numbers = [3, 7, 2, 8, 1, 9, 5, 4]
print(f" Số lớn nhất là: {find_largest(numbers)}")  # Output: Số lớn nhất là: 9

Hàm này bắt đầu bằng việc giả định số đầu tiên là lớn nhất, sau đó so sánh mỗi số với số lớn hiện tại. Đó giống như một giải vô địch nơi mỗi số cạnh tranh để trở thành vị vua!

Bài tập 3: Đảo ngược thứ tự các phần tử trong mảng

Viết một hàm đảo ngược thứ tự các phần tử trong một mảng.

def reverse_array(arr):
return arr[::-1]

original = [1, 2, 3, 4, 5]
reversed_arr = reverse_array(original)
print(f"Mảng gốc: {original}")
print(f"Mảng đảo ngược: {reversed_arr}")

Điều này sử dụng một slice Python với bước -1 để đảo ngược mảng. Đó giống như lật đổ một album ảnh từ cuối lên đầu!

Dưới đây là bảng tóm tắt các phương pháp mảng mà chúng ta đã sử dụng:

Phương pháp Mô tả Ví dụ
append() Thêm một phần tử vào cuối danh sách fruits.append("grape")
remove() Xóa lần xuất hiện đầu tiên của phần tử xác định fruits.remove("banana")
len() Trả về số lượng phần tử trong danh sách len(fruits)
Định chỉ Truy cập hoặc chỉnh sửa phần tử tại vị trí cụ thể fruits[0] hoặc fruits[1] = "kiwi"
Slice Trả về một phần của danh sách fruits[1:3] hoặc fruits[::-1] để đảo ngược

Nhớ rằng, các mảng (danh sách trong Python) là cơ sở của lập trình và được sử dụng trong rất nhiều ứng dụng. Chúng giống như các dao cạo của dữ liệu cấu trúc - linh hoạt, hữu ích và cần thiết trong bộ công cụ mã của bạn.

Khi bạn luyện tập các bài tập này, bạn sẽ cảm thấy mình trở nên dễ dàng hơn với các mảng. Đừng buồn khi nó không bật ngay lập tức - việc học lập trình là một hành trình, và mỗi bước tiến là tiến bộ. Tiếp tục thử nghiệm, tiếp tục hỏi đáp và quan trọng nhất, tiếp tục mã hóa!

Chúc mã hóa vui vẻ, các nhà lập trình tương lai! May các mảng của bạn luôn được sắp xếp và các vòng lặp của bạn vô hạn chỉ khi bạn muốn chúng đó!

Credits: Image by storyset