Python - 陣列練習

你好,有抱負的程式設計師!很高興能夠在這個令人興奮的Python陣列世界之旅中成為你的導遊。作為一位擁有多年經驗的計算機科學老師,我見過無數學生在掌握這些概念時眼中閃耀著理解的光芒。那麼,讓我們一起深入探索,讓陣列變得有趣且容易理解!

Python - Array Exercises

什麼是陣列?

在我們進入示例之前,先從基礎開始。在Python中,我們沒有像其他一些語言那樣內建的陣列數據結構。相反,我們使用極其多用途和強大的列表。為了我們今天的目的,我們將使用列表作為我們的「陣列」。

陣列(在Python中是列表)就像一個可以容納多個項目的容器。想像一列火車帶有幾節車廂,每節車廂都帶有一個數據片段。這基本上就是程式設計中的陣列!

示例1:創建和訪問陣列

讓我們從一個簡單的例子開始:

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

在這個例子中,我們創建了一個名為fruits的陣列(列表)。陣列中的每個項目都有一個索引,從0開始。所以,fruits[0]給我們第一個項目「apple」,fruits[2]給我們第三個項目「cherry」。

把它想像成學校裡一排locker。如果你站在排的開頭(索引0),第三個locker將是兩步之遙(索引2)。

示例2:修改陣列

陣列是可變的,這意味著我們可以在創建後更改它們。讓我們看看如何操作:

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

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

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

在這裡,我們進行了三個操作:

  1. 我們將索引2的值從3更改為10。
  2. 我們使用append()在陣列的末尾添加了一個新的數字(6)。
  3. 我們使用remove()從陣列中刪除了數字2。

這就像編輯播放清單。你可以更改一首歌(修改),在末尾添加一首新歌(追加),或刪除一首你不再喜歡的歌(刪除)。

示例3:循環遍歷陣列

陣列最強大的功能之一是能夠快速處理所有項目。我們使用循環來實現這一點:

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

# 使用for循環
for color in colors:
print(f"I love {color}!")

# 使用while循環
i = 0
while i < len(colors):
print(f"Color at index {i} is {colors[i]}")
i += 1

在第一個循環中,我們說「我愛」每種顏色。這就像走進你的衣櫥,稱讚每一件衣服。

第二個循環使用了一種不同的方法。我們手動增加我們的索引(i),並在達到陣列末尾時停止。這就像在博物館漫步時計數你的步驟。

練習程序

現在我們已經涵蓋了基礎知識,讓我們嘗試一些練習來加強我們所學的知識。記住,練習成就完美!

練習1:陣列元素之和

編寫一個程序,計算數字陣列中所有元素的和。

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

numbers = [1, 2, 3, 4, 5]
print(f"The sum is: {sum_array(numbers)}")  # 輸出:The sum is: 15

這個函數遍歷陣列中的每個數字,並將其添加到運行總計中。這就像計算你存錢罐中的所有硬幣一樣!

練習2:查找最大的元素

創建一個函數,查找陣列中的最大元素。

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"The largest number is: {find_largest(numbers)}")  # 輸出:The largest number is: 9

這個函數首先假設第一個數字是最大的,然後將每個數字與當前的最大數字進行比較。這就像一場錦標賽,每個數字都競爭成為冠軍!

練習3:反轉陣列

編寫一個函數,反轉陣列元素的順序。

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

original = [1, 2, 3, 4, 5]
reversed_arr = reverse_array(original)
print(f"Original array: {original}")
print(f"Reversed array: {reversed_arr}")

這使用了Python切片,步長為-1來反轉陣列。這就像從後向前翻閱一 本攝影冊一樣!

以下是我們使用的陣列方法的摘要表:

方法 描述 示例
append() 將元素添加到列表的末尾 fruits.append("grape")
remove() 刪除指定的元素的第一個出現 fruits.remove("banana")
len() 返回列表中的元素數量 len(fruits)
索引 存取或修改特定位置的元素 fruits[0]fruits[1] = "kiwi"
切片 返回列表的一部分 fruits[1:3]fruits[::-1] 用於反轉

記住,陣列(Python中的列表)是程式設計中的基礎,並在無數應用中被使用。它們就像數據結構的瑞士軍刀 - 多功能、實用且對於編程工具包來說是必需的。

當你練習這些練習時,你會發現自己對陣列越來越熟悉。如果一開始沒有立刻領悟,不要氣餒 - 學習編程是一段旅程,每前進一步都是進步。繼續實驗,繼續提問,最重要的是,繼續編程!

編程愉快,未來的程式設計師們!願你的陣列永遠排序,你的循環只有在你想讓它們無窮的時候才是無窮的!

Credits: Image by storyset