」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Python 循環 1

Python 循環 1

發佈於2024-08-01
瀏覽:676

Python Loops 1

嘿大家!本週我又帶著新的 Python 課程回來了。本週我們將學習循環。在任何程式語言中,循環都是非常重要的主題。透過理解循環,您將能夠在幾秒鐘內完成乏味且耗時的工作。由此可見循環是多麼的重要。那麼讓我們深入探討一下。

為什麼需要循環?
讓我們試著理解有問題的循環。假設你是班上的課代表,教授讓你負責從資料庫找出班級的平均成績。
現在你們班有 30 位學生。所以資料庫中有30個等級。現在,我們假設成績作為清單儲存在單一變數中。 (稍後我們將詳細討論“列表”)
現在手動找出平均成績肯定需要很長時間。所以在這種情況下,循環就發揮了作用。循環將允許您在短時間內執行這項繁瑣的任務。

那麼什麼是循環呢?

Python 迴圈是一種控制結構,只要滿足指定條件或針對序列中的每個項目,就會重複執行程式碼區塊。

簡單來說,循環可以幫助我們執行重複的任務。

根據這個定義,Python循環有兩種。
1) For循環
2)While循環

For 循環:
我們使用 for 迴圈來迭代序列中的每個元素(字串、列表、元組、字典等)。循環將從序列的索引 0 開始,一直運行到該序列的最後一項。

for items in sequence:
    repetitive work or block of statements

讓我們使用for迴圈來解決問題

#Here are our grades of 30 students
grades = [85, 92, 78, 88, 91, 76, 95, 89, 83, 77,
          90, 82, 84, 79, 87, 93, 81, 80, 86, 94,
          75, 88, 85, 92, 78, 89, 77, 84, 91, 76]


sum=0
for item in grades:
    sum=sum item

average=sum/len(grades)

print(average)

首先,我們有一個名為 sum 的變量,我們將在其中儲存所有成績的總和。然後我們有一個 for 迴圈。循環將從索引 0 項開始直到最後一項。在每次迭代中,它將把每個項目加到總和中。在這個 for 迴圈區塊之外,我們將透過將總和除以分數來計算平均值(len 函數告訴我們清單中有多少項 - 稍後會詳細介紹)。

While 循環

在while循環中,只要條件為真,循環就會迭代程式碼區塊。一旦條件為假,循環就會停止。

while condition is true:
    do something repeatedly

讓我們使用 while 迴圈解決同樣的問題:

grades = [85, 92, 78, 88, 91, 76, 95, 89, 83, 77,
          90, 82, 84, 79, 87, 93, 81, 80, 86, 94,
          75, 88, 85, 92, 78, 89, 77, 84, 91, 76]

sum = 0
index = 0

while index 



注意:在此解決方案中,您可能會注意到一些我們之前沒有解釋過的功能。我們將在清單課程中簡要討論這些內容。

因此,在此解決方案中,我們在 sum 旁邊聲明了一個新的變數索引。索引變數幫助我們存取成績清單中的項目,這些項目在每個循環中都會遞增(索引=1)。在 while 迴圈中,條件是只要索引小於成績清單中的項目數,迴圈就會運行並計算總和。 Grades[index] 允許我們存取清單中的項目,稱為索引。其餘程式碼與for循環的解決方案類似。

這將是 Python 循環第 1 部分的結束。在下一部分中,我們將詳細討論循環。

概括:

  • Python 循環是一種有助於重複任務的結構
  • For 迴圈將迭代序列中的每個元素(字串、列表、元組、字典等)
  • 只要條件為真,While 迴圈就會迭代。

練習題
這是 20 個數字的列表:
num_list=[100, 82, 96, 4, 44, 27, 13, 45, 96, 21, 26, 71, 22, 19, 57, 69, 97, 34, 21, 92]

計算給定列表中所有偶數的平均值。

解決 For 和 While 循環的這個問題,並在評論中分享你的答案。快樂編碼!

版本聲明 本文轉載於:https://dev.to/coderanger08/python-loops-1-5dho?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • std::lock_guard 與 std::scoped_lock:何時使用哪個鎖?
    std::lock_guard 與 std::scoped_lock:何時使用哪個鎖?
    std::lock_guard 與std::scoped_lock:為任務選擇正確的鎖隨著C 17 的引入,std :: scoped_lock 類別與現有的std::lock_guard 一起出現,引發了關於它們之間的差異以及何時使用它們的問題。 雖然 std::scoped_lock 與 std...
    程式設計 發佈於2024-11-06
  • WebRTC簡介
    WebRTC簡介
    安裝和代碼指南 WebRTC(網路即時通訊)是一種開源技術,可透過網頁瀏覽器和行動應用程式中的簡單 API 進行即時通訊。它允許在點之間直接共享音訊、視訊和數據,無需中間伺服器,非常適合視訊會議、直播和檔案共享等應用程式。 在本部落格中,我們將深入探討以下主題: 什麼是WebRT...
    程式設計 發佈於2024-11-06
  • 如何在不使用 JavaScript 的情況下使用 CSS 隱藏和顯示內容?
    如何在不使用 JavaScript 的情況下使用 CSS 隱藏和顯示內容?
    使用CSS 隱藏和顯示內容:無需JavaScript 的技巧在進行Web 開發時,控制內容的可見性通常至關重要。傳統上,這是使用 JavaScript 實現的,但 CSS 也可用於創建優雅的隱藏和顯示效果。下面描述了一種此類技術,解決了先前方法遇到的特定挑戰。 隱藏/顯示內容切換:可以使用 CSS ...
    程式設計 發佈於2024-11-06
  • 如何建立重複最少的 5 個字元的隨機字串?
    如何建立重複最少的 5 個字元的隨機字串?
    產生5 個具有最少重複的隨機字元要建立具有最少重複的隨機5 個字元字串,最有效的方法之一是使用PHP 函數和巧妙技術的結合。讓我們深入研究解決方案:使用md5 和rand$rand = substr(md5(microtime()),rand(0,26),5);此方法使用md5雜湊函數根據時間戳記產...
    程式設計 發佈於2024-11-06
  • 如何在 Go 中處理不同套件之間相同的方法簽名?
    如何在 Go 中處理不同套件之間相同的方法簽名?
    處理不同套件中具有相同方法簽名的介面在Go中,當處理具有相同方法簽署但定義在不同套件中的多個介面時,可能會出現以下情況實作兩個介面的類型會導致意外行為。 考慮在不同套件中定義的這兩個介面(Doer)和函數(FuncA 和 FuncB):// Package A type Doer interface...
    程式設計 發佈於2024-11-06
  • 如何使用 jQuery 填充級聯下拉清單以獲得更好的相容性和使用者體驗?
    如何使用 jQuery 填充級聯下拉清單以獲得更好的相容性和使用者體驗?
    使用jQuery 填充級聯下拉清單在表單開發領域,級聯下拉清單經常用於提供更用戶友好和動態體驗。為了增強相容性並解決跨瀏覽器問題,jQuery 提供了一個強大的解決方案來非同步填充這些下拉清單。 問題中所示的用於建立級聯下拉清單的原始 JavaScript 函數缺乏與 IE 的兼容性。為了解決這個問...
    程式設計 發佈於2024-11-06
  • 了解 JavaScript 中的擴充運算子:初學者簡單指南
    了解 JavaScript 中的擴充運算子:初學者簡單指南
    介紹 JavaScript 是一種有趣的程式語言,其最令人興奮的功能之一是擴充運算子。如果您剛開始編碼,或者即使您是一個對學習 JavaScript 感興趣的孩子,也不必擔心!我將以最簡單的方式分解這個概念,並舉例來幫助您理解。 什麼是價差運算子? 擴充運算子看起...
    程式設計 發佈於2024-11-06
  • 在 Python 中使用 OpenSearch 掌握 CRUD 操作:實用指南
    在 Python 中使用 OpenSearch 掌握 CRUD 操作:實用指南
    OpenSearch, an open-source alternative to Elasticsearch, is a powerful search and analytics engine built to handle large datasets with ease. In this b...
    程式設計 發佈於2024-11-06
  • 冰沙框架的重要概念||如何精通冰沙
    冰沙框架的重要概念||如何精通冰沙
    要精通 Frappe,有几个关键概念和领域需要关注。以下是最重要的细分: 1. 文档类型 定义:DocTypes是Frappe中的核心数据模型。每个实体或记录都存储在 DocType 中,并且它们可以具有字段、权限和工作流程。 为什么它很重要:了解如何创建和自定义 DocType 至...
    程式設計 發佈於2024-11-06
  • 如何解決 JLabel 拖放的滑鼠事件衝突?
    如何解決 JLabel 拖放的滑鼠事件衝突?
    用於拖放的JLabel 滑鼠事件:解決滑鼠事件衝突為了在JLabel 上啟用拖放功能,滑鼠事件必須被覆蓋。然而,當嘗試使用 mousePressed 事件實作拖放時,會出現一個常見問題,因為 mouseReleased 事件對該 JLabel 無效。 提供的程式碼在 mousePressed 事件中...
    程式設計 發佈於2024-11-06
  • MySQL 中的資料庫分片:綜合指南
    MySQL 中的資料庫分片:綜合指南
    随着数据库变得越来越大、越来越复杂,有效地控制性能和扩展就出现了。数据库分片是用于克服这些障碍的一种方法。称为“分片”的数据库分区将大型数据库划分为更小、更易于管理的段(称为“分片”)。通过将每个分片分布在多个服务器上(每个服务器保存总数据的一小部分),可以提高可扩展性和吞吐量。 在本文中,我们将探...
    程式設計 發佈於2024-11-06
  • 如何將 Python 日期時間物件轉換為秒?
    如何將 Python 日期時間物件轉換為秒?
    在Python 中將日期時間物件轉換為秒在Python 中使用日期時間物件時,通常需要將它們轉換為秒以適應各種情況分析目的。但是,toordinal() 方法可能無法提供所需的輸出,因為它僅區分具有不同日期的日期。 要準確地將日期時間物件轉換為秒,特別是對於 1970 年 1 月 1 日的特定日期,...
    程式設計 發佈於2024-11-06
  • 如何使用 Laravel Eloquent 的 firstOrNew() 方法有效最佳化 CRUD 操作?
    如何使用 Laravel Eloquent 的 firstOrNew() 方法有效最佳化 CRUD 操作?
    使用 Laravel Eloquent 優化 CRUD 操作在 Laravel 中使用資料庫時,插入或更新記錄是很常見的。為了實現這一點,開發人員經常求助於條件語句,在決定執行插入或更新之前檢查記錄是否存在。 firstOrNew() 方法幸運的是, Eloquent 透過firstOrNew() ...
    程式設計 發佈於2024-11-06
  • 為什麼在 PHP 中重寫方法參數違反了嚴格的標準?
    為什麼在 PHP 中重寫方法參數違反了嚴格的標準?
    在PHP 中重寫方法參數:違反嚴格標準在物件導向程式設計中,里氏替換原則(LSP) 規定:子類型的物件可以替換其父對象,而不改變程式的行為。然而,在 PHP 中,用不同的參數簽名覆蓋方法被認為是違反嚴格標準的。 為什麼這是違規? PHP 是弱型別語言,這表示編譯器無法在編譯時確定變數的確切型別。這表...
    程式設計 發佈於2024-11-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3