掌握Python三大語句:順序、條件與循環

PS

不好意思各位,由于最近筆者在參加全國大學生電子設計大賽,所以最近會出現停更的情況,望大家諒解,比賽結束后我會加大力度,火速講Python的知識給大家寫完

🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?🎖?


一、順序語句

我們目前接觸到的代碼,例如c、c++、Java等等,代碼執行的順序都是按照從上到下的順序來執行的,我們稱為順序語句

#順序語句
print('1')
print('2')
print('3')

這里我們的執行結果一定為"123",而不會出現其他的"312"、"213"等,這種按照順序執行的代碼(從上到下),就是順序語句

二、條件語句

2.1 什么是條件語句

條件語句能夠表達"如果.......就........"?這樣的語句意義,這構成了我們計算機中基礎的邏輯判定?

條件語句也叫分支語句,表示了接下來的邏輯可能有幾種走向(讓我們來舉個例子):

weather = input("今天下雨了嗎?(是/否): ")if weather == "是":print("🌧? 帶上傘")
else:print("?? 不用帶傘")

🌧? 生活中的例子:要不要帶傘?

想象一下,你早上準備出門去上課,走到門口,突然想到:

“如果今天下雨,我就帶傘;否則,就不帶雨傘。”

這句話聽起來是不是特別像我們平時的思考方式?這其實就是一條典型的條件語句

  • 其中“如果下雨”稱為條件,如果條件成立(真),則會出現“我就帶傘”這個情況
  • 如果條件不成立(假),則會出現“就不帶雨傘”

2.2 條件語句的語法格式

2.2.1 縮進和代碼塊

2.2.1.1 什么是代碼塊

在編程中,代碼塊就是一組“屬于同一個邏輯單元”的語句。

比如在 if 語句中:

if 條件:這一行這兩行這三行都是“條件成立時”才執行的代碼

這“四行”就構成了一個代碼塊——它們“同進退”。

2.2.1.2?Python 的獨特之處:用縮進定義結構

在 C、Java、JavaScript 等語言中,代碼塊是用 {} 括起來的:

// C語言示例
if (age >= 18) {printf("成年");printf("可以投票");
}

但在 Python 中,沒有 {},而是靠“縮進”來表示誰屬于誰

if age >= 18:print("成年")print("可以投票")
# 沒有縮進 → 不再屬于 if
print("程序結束")
2.2.1.3?縮進的規則(必須掌握!)
要點說明
? 使用空格或 Tab推薦用?4 個空格(Python 官方建議)
? 同一代碼塊必須對齊同一級別的語句左對齊
? 不能混用空格和 Tab容易出錯!建議編輯器設置“Tab 轉 4 空格”
? 冒號?:?后要縮進if,?else,?for,?def?等后跟代碼塊,必須縮進


Python 中的條件語句主要有三種形式:

2.2.2?if語句?(如果……就……)

if 條件:條件為真時執行的代碼

🔹 ps:只有當“條件”成立(結果為 True)時,才會執行下面的代碼塊;否則跳過。

生活例子:鬧鐘提醒

如果 時間是早上7點, 播放起床鈴聲。

👉 只有當 time 等于 7 時,鬧鐘才會響。

?2.2.3?if-else?語句

(二選一:如果……就……,否則……)

if 條件:條件為真時執行的代碼
else:條件為假時執行的代碼

🔹 PS必選其一,要么走 if 分支,要么走 else 分支。

?生活例子:看電影是否需要買票

如果 年齡 ≥ 12歲, 需要買票;否則,免費入場。

age = 10if age >= 12:print("🎫 請購買成人票")
else:print("🎟? 兒童免費入場")

👉 年齡夠了買票,不夠就免費——非此即彼。

2.2.4?if-elif-else?語句(多選一:多種情況判斷)

if 條件1:滿足條件1時執行
elif 條件2:滿足條件2時執行(但條件1不滿足)
elif 條件3:滿足條件3時執行
else:以上都不滿足時執行

🔹 說明:從上往下依次判斷,一旦滿足某個條件,就執行對應代碼,然后跳出整個結構

生活例子:點餐根據預算選擇套餐

如果 預算 ≥ 30元,點豪華漢堡套餐
否則如果 預算 ≥ 20元,點普通漢堡
否則如果 預算 ≥ 10元,點薯條
否則,只能喝白開水 😅

budget = 25  # 你有25元if budget >= 30:print("🍔 豪華漢堡套餐 + 可樂 + 薯條")
elif budget >= 20:print("🍔 普通漢堡 + 可樂")
elif budget >= 10:print("🍟 薯條一份")
else:print("💧 喝杯白開水吧")

👉 輸出:🍔 普通漢堡 + 可樂

2.2.5?語法要點提醒?

要點說明
? 冒號?:每個?if,?elif,?else?后面必須加冒號
? 縮進條件后的代碼必須縮進(一般用 4 個空格),表示“屬于這個分支”
? 條件是布爾表達式條件的結果必須是?True?或?False,比如:age >= 18,?name == "張三"
? 不要寫成?=判斷相等用?==,不是賦值的?=

2.2.5 模擬自動售貨機

假設一臺飲料機,根據投入的金額出貨:

  • 投入 ≥ 5元:出“可樂”
  • 投入 ≥ 3元:出“礦泉水”
  • 否則:提示“金額不足”
money = float(input("請投入金額(元):"))if money >= 5:print("🥤 可樂出來啦!")
elif money >= 3:print("💧 礦泉水出來啦!")
else:print("?? 金額不足,請投幣")

?三、循環語句

3.1 while循環

循環是讓程序“自動重復做事情”的核心工具,while 是其中最直觀、最接近人類思維的一種。

3.1.1 什么是while循環

while 在英文中是“當……的時候”。在 Python 中,它的意思是:

“當某個條件成立時,就一直重復執行某些代碼。”

這就像我們生活中的很多“重復行為”。

生活例子:刷碗直到干凈

想象你吃完飯后要洗碗:

“當碗還不干凈時,就繼續刷。”

這個邏輯就可以用 while 來表達!

# 假設 clean 是“是否干凈”的狀態
clean = False# 當“不干凈”時,就繼續刷
while not clean:  print(" 正在刷碗...")# 假設刷一次就干凈了clean = Trueprint(" 碗洗好了!")

?not clean 表示“還不干凈”,一旦 clean = True,條件不成立,循環結束。

3.2?while?循環的基本語法

while 條件:循環體
  • 條件為真(ture),則執行循環代碼
  • 條件為假(False) ,結束循環

代碼示例:打印 1~10的整數

# 打印1~10的整數
num = 1
while num <= 10:print(num)num+=1

num = 1 ——?這是?while?循環的第一步:設置起始值

while num <= 10: —— 循環的判斷條件 注意:條件檢查發生在每次循環開始前

print(num) —— 循環打印1~10

num += 1:

  • 這是更新變量的關鍵步驟
  • num += 1?等價于?num = num + 1
  • 每次循環結束時,num?的值增加1
  • 這樣才能讓循環最終結束

?? 如果沒有這行,num 永遠是1,條件永遠為 True死循環!

代碼示例:打印 1~100的和

# 1~100的和
sum = 0
num = 1
while num <= 100:sum += numnum += 1
print(sum)

代碼示例:求1! + 2! + 3! + 4! + 5!?

# 代碼示例:求1! + 2! + 3! + 4! + 5!?
num = 1
sum = 0
while num <= 5:factorResult = 1i = 1while i <= num:factorResult *= ii += 1sum += factorResultnum += 1
print(sum)

這個示例會復雜一些,用到了兩個while,循環嵌套

四、for循環

4.1 基本語法格式

for 循環變量 in 可迭代對象:循環體

注意:

  • python的for和其他語言不同,沒有“初始化語句”,“循環條件判定語句”,“循環變量更新語句”,而是更加簡單

例子1:用?range()?打印1到10?

for num in range(1, 11):print(num)
  • 使用range函數能夠生成一個可迭代對象,生成的范圍是[1,11),也就是[1,10] 下面舉一個例子給大家加深range知識點的記憶

例子2:老師點名

想象一下上課時,老師要檢查誰來了:

“對每一個學生,都喊一次名字”

students = ["小明", "小紅", "小剛", "小麗"]for student in students:print(f"到!{student}")

核心例子1:用?range()?生成數字序列

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

??重點解析?range()

  • range(1, 6)?不是數字,而是一個“數字生成器
  • 它會生成:1, 2, 3, 4, 5
  • 左閉右開:包含左邊,不包含右邊
  • i?是循環變量,依次取這些值

核心例子2:“快遞員送快遞”

想象一個快遞員要送5個包裹:

packages = ["A", "B", "C", "D", "E"]for pkg in packages:print(f" 正在派送包裹 {pkg}")
print(" 全部送達!")
  • packages?是“待送包裹清單”
  • pkg?是當前正在送的包裹
  • 每送一個,自動取下一個
  • 送完自動結束

?4.2 拆解每一部分:

部分說明示例
for關鍵字,表示開始一個 for 循環固定寫法
變量臨時存放當前元素的“容器”student,?num,?char
in關鍵字,表示“在……之中”固定寫法
可迭代對象能被“一個一個取出”的數據列表、字符串、range()
:冒號!必須有!否則報錯
縮進代碼循環體,屬于 for 的代碼塊必須縮進(4空格)

五、break和continue

5.1 ?為什么需要?break?和?continue

有時候我們希望:

  • 提前結束整個循環(比如找到了目標)
  • 跳過當前循環,直接進入下一次循環(比如遇到了不需要處理的數據)

這就是 breakcontinue 的作用!

5.2?break:跳出整個循環

當一個代碼在執行過程中,如果遇到break,則會跳出整個代碼,不再執行后續代碼

例子:找停車位

想象你在停車場里找車位:

“如果找到空位,就停車;否則繼續找。”

parking_spaces = ["滿", "滿", "空", "滿", "滿"]for space in parking_spaces:if space == "空":print("  找到空位!")break  # 找到了,不用再找了!else:print("  繼續尋找...")

這里大家就可以看到,找到空位后,也就是代碼執行到了break,就會跳出1整個代碼,不再執行下去

?

5.3 continue:跳出當前循環

遇到?continue?后,跳過當前循環的剩余部分,直接進入下一次循環。

例子:過濾垃圾郵件

假設你要篩選郵件,跳過所有垃圾郵件:

emails = ["廣告", "工作機會", "優惠券", "朋友來信", "廣告"]for email in emails:if email == "廣告":continue  # 跳過廣告,不處理print(f"閱讀: {email}")

遇到“廣告”,直接跳過,不打印也不做其他操作。?

5.4?對比?break?和?continue

關鍵字功能示例
break提前結束整個循環找到空位后停止搜索
continue跳過當前循環,繼續下一次遇到廣告跳過,繼續看下一封
# `break` 示例
for i in range(1, 6):if i == 3:break  # 當 i=3 時,直接跳出循環print(i)  # 只會輸出 1 和 2print("跳出循環")# `continue` 示例
for i in range(1, 6):if i == 3:continue  # 當 i=3 時,跳過本次循環print(i)  # 輸出 1, 2, 4, 5,跳過了 3


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917088.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917088.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917088.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA結合AI

Java 與人工智能&#xff08;AI&#xff09;的結合正經歷從技術探索到深度融合的關鍵階段。以下從技術生態、應用場景、工具創新、行業實踐及未來趨勢五個維度展開分析&#xff0c;結合最新技術動態與企業級案例&#xff0c;揭示 Java 在 AI 時代的獨特價值與發展路徑。一、技術…

本土DevOps平臺Gitee如何重塑中國研發團隊的工作流

本土DevOps平臺Gitee如何重塑中國研發團隊的工作流 在數字化轉型浪潮席卷各行各業的當下&#xff0c;軟件開發效率已成為企業競爭力的核心指標。Gitee DevOps作為專為中國開發團隊打造的本土化研發管理平臺&#xff0c;正在改變國內技術團隊的工作方式。該平臺通過從代碼管理到…

5G MBS(組播廣播服務)深度解析:從標準架構到商用實踐

一、MBS技術背景與核心價值 1.1 業務需求驅動 隨著超高清視頻(4K/8K)、多視角直播、XR元宇宙應用爆發式增長,傳統單播傳輸面臨帶寬浪費(相同內容重復發送)與擁塞風險(萬人并發場景)的雙重挑戰。5G MBS通過點對多點(PTM)傳輸實現內容一次發送、多終端接收,頻譜效率提…

如何將照片從 realme 手機傳輸到電腦?

對于 realme 用戶來說&#xff0c;將照片傳輸到電腦可以有多種用途&#xff0c;從釋放設備空間到在單獨的存儲設備上創建備份。這個過程不僅有助于高效管理設備內存&#xff0c;還可以讓您利用電腦上強大的照片編輯軟件進行高級增強和創意項目。了解如何將照片從 realme 手機傳…

Centos 7部署.NET 8網站項目

簡介 本文詳細介紹了在CentOS 7系統上部署.NET 8網站項目的完整流程&#xff0c;主要內容包括&#xff1a;系統版本更新與檢查、PostgreSQL數據庫的安裝配置&#xff08;含防火墻設置、數據庫初始化及遠程訪問配置&#xff09;、Nginx Web服務的安裝與防火墻配置。文章通過分步…

Windows 11下IDEA中使用git突然變得卡慢及解決辦法

1. 表象 使用idea的git進行update、commit、push等操作時&#xff0c;極度卡慢。需等待幾十秒到幾分鐘。修改文件后&#xff0c;git刷新也不及時。update命令有時候無法點擊。 2.解決方法 停止PC Manager ServiceCtrl shift esc : 打開任務管理器找到服務&#xff1a; 服務中…

MyBatis 的兩級緩存機制

現實分布式項目中會不會開啟mybatis的二級緩存&#xff1f; 在分布式項目中&#xff0c;是否開啟MyBatis的二級緩存需結合具體場景和技術方案綜合評估。 以下是關鍵考量因素&#xff1a; 一、默認二級緩存的局限性 隔離性問題&#xff1a;MyBatis默認的二級緩存基于HashMap實…

分布式原子序列(Distributed Atomic Sequence)

這段內容是關于 Apache Ignite 中的 分布式原子序列&#xff08;Distributed Atomic Sequence&#xff09;&#xff0c;也就是一個分布式 ID 生成器。我們來一步步深入理解它的原理、用途和使用方式。&#x1f539; 一、核心概念&#xff1a;什么是分布式 ID 生成器&#xff1f…

VSCode——插件分享:Markdown PDF

該插件可以將markdown編寫內容轉成PDF。 ? 支持渲染圖表、代碼高亮、表格等 Markdown 內容 安裝 Visual Studio Code安裝插件&#xff1a;Markdown PDF 打開擴展商店&#xff0c;搜索 Markdown PDF 并安裝 打開你的 .md 文件右鍵 → 點擊 Markdown PDF: Export (pdf)自動生成 …

rust-模塊樹中引用項的路徑

模塊樹中引用項的路徑 為了告訴 Rust 在模塊樹中如何找到某個項&#xff0c;我們使用路徑&#xff0c;就像在文件系統中導航時使用路徑一樣。要調用一個函數&#xff0c;我們需要知道它的路徑。 路徑有兩種形式&#xff1a; 絕對路徑是從 crate 根開始的完整路徑&#xff1b…

mac n切換node版本報錯Bad CPU type in executable

該node版本僅支持intel芯片&#xff0c;不支持Apple 芯片&#xff08;M1/M2/M3/M4&#xff09;&#xff0c;所以需要下載Rosetta 2 &#xff0c;讓node可以在搭載 Apple 芯片的 Mac 上運行。 env: node: Bad CPU type in executable /opt/homebrew/bin/n: line 753: /usr/local…

經典算法之美:冒泡排序的優雅實現

經典算法之美&#xff1a;冒泡排序的優雅實現基本概念工作原理介紹具體實現代碼實現總結基本概念 冒泡排序是一種簡單的排序算法&#xff0c;通過重復比較相鄰的元素并交換它們的位置來實現排序。它的名稱來源于較小的元素像氣泡一樣逐漸“浮”到數組的頂端。 工作原理 介紹…

click和touch事件觸發順序 糊里糊涂解決的奇怪bug

問題詳情 在嵌入式硬件設備里&#xff0c;測試 “點擊input密碼框&#xff0c;彈出第三方自帶鍵盤&#xff0c;點擊密碼框旁的小眼睛&#xff0c;切換輸入內容加密狀態&#xff0c;鍵盤收起/彈出狀態不變” 的功能邏輯&#xff1b;實際情況卻是 “點擊鍵盤或input框之外的任何地…

【0基礎PS】Photoshop (PS) 理論知識

目錄前言一、Photoshop 核心概念與定位?二、圖像基礎理論?三、圖層理論&#xff1a;PS 的核心工作機制?四、選區與蒙版?五、調色核心理論?六、常用文件格式?學習建議?總結前言 在數字圖像編輯領域&#xff0c;Photoshop&#xff08;簡稱 PS&#xff09;無疑是行業標桿級…

數據庫 設計 pdm comment列表顯示和生成建表sql

按如下步驟 生成見建表語句 comment非空使用comment 生成字段注釋&#xff0c; 空的時候使用name 生成字段注釋 sql腳本模板編輯 參考 PowerDesigner生成mysql字段comment 注釋-騰訊云開發者社區-騰訊云 版本不同這邊的設置不同 這個勾打上

嵌入式基礎知識復習(C語言)

知識擴展7.28 嵌入式產品特點、開發環境、計算機組成、Linux終端初識1、嵌入式產品。特點&#xff1a;低功耗、根據用戶需求定制。硬件&#xff1a;arm處理器。軟件&#xff1a;Linux操作系統arm架構&#xff1a;精簡指令集、低功耗&#xff08;移動/嵌入式&#xff09;。 …

LeetCode Hot 100 尋找兩個正序數組的中位數

給定兩個大小分別為 m 和 n 的正序&#xff08;從小到大&#xff09;數組 nums1 和 nums2。請你找出并返回這兩個正序數組的 中位數 。算法的時間復雜度應該為 O(log (mn)) 。示例 1&#xff1a;輸入&#xff1a;nums1 [1,3], nums2 [2] 輸出&#xff1a;2.00000 解釋&#x…

監控場景視頻質量異常修復:陌訊動態增強算法實戰解析

原創聲明&#xff1a;本文為原創技術解析&#xff0c;核心技術參數與架構引用自《陌訊技術白皮書》&#xff0c;禁止未經授權轉載。一、行業痛點&#xff1a;視頻質量異常的連鎖難題在安防監控、智慧交通等場景中&#xff0c;視頻質量異常已成為 AI 分析的主要瓶頸。據行業報告…

一個簡單的mvvm示例與數據雙向綁定

這就是一個簡單的數據雙向綁定的demo&#xff0c;參考即可&#xff08;cmakelist我沒按他的寫&#xff0c;但是大差不差&#xff09; 目錄 1.示例demo File: CMakeLists.txt File: main.cpp File: model/physiologymodel.cpp File: viewmodel/physiologyviewmodel.h Fil…

哈希的概念及其應用

哈希的概念及其應用哈希概念常見的哈希其他哈希字符串哈希&#xff08;算法競賽常用&#xff09;字符串哈希OJP3370 【模板】字符串哈希 - 洛谷P10468 兔子與兔子 - 洛谷哈希沖突哈希函數設計原則哈希沖突解決方法—閉散列閉散列的線性探測閉散列的二次探測哈希沖突解決方法—開…