python學習第三天

條件判斷

????????條件判斷使用ifelifelse關鍵字。它們用于根據條件執行不同的代碼塊。

# 條件判斷
age = 18
if age < 18:print("你還是個孩子!")
elif age == 18:print("永遠十八歲!")
else:print("你還年輕!")

循環

????????Python中有兩種主要的循環結構:for循環和while循環。

for循環

? ?for循環用于遍歷序列(如列表、元組、字符串等)中的每個元素。

# for循環 遍歷序列
array = ['test',1,[1,2,3,4,5]]
for arr in array:# 使用type函數判斷類型 類似于java的判斷類型instanceof 多進行類比if type(arr)==list:for a in arr:print('我是第二層循環:',a)else:        print(arr)
# 循環字典 實例
disc = [{'name':'python','age':18},{'name':'java','age':18}]
for arr in disc:# 使用type函數判斷類型 類似于java的判斷類型instanceof 多進行類比if arr.get('name')=='python':print('我是python')else:print('我是java')

while循環

???????while循環在條件為True時重復執行代碼塊。

# while循環 比如累加計算
count = 0
total = 0
while count <= 100:count += 1total = total + count
print(total)

循環內部操作

關鍵字作用適用場景
pass空操作,什么都不做,僅占位。當語法上需要語句但邏輯上不需要操作時。在編寫代碼時,如果某些邏輯暫時不需要實現,但需要保持語法正確性,可以使用?pass(簡單來說就是保證語法的正確性
continue跳過當前迭代的剩余代碼,直接進入下一次循環。當需要跳過某些特定條件的迭代時。
break立即終止整個循環,不再執行后續迭代。當滿足某個條件時需要提前退出循環時。
else當循環正常結束(未被?break?中斷)時執行?else?塊中的代碼。當需要在循環正常結束后執行某些操作時。
# pass使用 當語法上需要語句但邏輯上不需要操作時 在編寫代碼時,如果某些邏輯暫時不需要實現,但需要保持語法正確性,可以使用 pass。可以點到range里看下 很多用到了pass
for i in range(10):if i == 2:passprint(f" i == {i} ")else:print(i)if i == 3:# 保證代碼的完整性 如果有復雜的代碼 需要待實現的部分就可以使用了pass
# continue跳過本次循環
for i in range(10):if i == 3:continueelse:print(i) # 打印結果 0-9 不含3
# break結束本次循環
for i in range(10):if i == 3:breakelse:print(i) # 打印結果 0 - 2
# else 除了break 不執行else外 其他的都會執行
for i in range(10):break
else:print("循環正常結束") # 因為break 不會被執行
for i in range(10):continue
else:print("循環正常結束") # 正常打印
for i in range(10):pass
else:print("循環正常結束")  # 正常打印

列表操作

? ? ? ? 學到了循環,就要學習關于列表的元素的操作,其中包括查詢、修改、插入、刪除、排序等操作(實例:animal = ['dog','cat','elephant','rabbit']也可以看下面的查詢修改中的實例)。

操作方法/語法描述示例
查詢list[index]通過索引訪問元素,索引從?0?開始。animal[0]?返回?"dog"
list[-1]或者list[len(list)-1]訪問最后一個元素。animal[-1]?或者animal[len(animal)-1]返回?"rabbit"
list[start:end]切片操作,獲取從?start?到?end-1?的子列表。左開右閉區間。animal[0:2]?返回?["dog", "cat"]
list.index(value)返回第一個匹配元素的索引。animal.index("cat")?返回?1
value in list檢查元素是否在列表中。"monkey" in animal 返回?False
修改list[index] = value修改指定索引處的元素。animal[1] = "monkey"?將?"cat"?修改為?"monkey"
list[start:end] = [values]修改切片范圍內的元素。animal[0:2] = ['giraffe','ant']?替換?"dog"?和?"cat"
刪除del list[index]刪除指定索引處的元素。del animal[1]?刪除?"cat"
list.remove(value)刪除第一個匹配的元素。animal.remove("elephant")?刪除?"elephant"
list.pop(index)刪除并返回指定索引處的元素(默認刪除最后一個元素)。animal.pop(1)?刪除并返回?"dog"
list.clear()清空列表中的所有元素。animal.clear()?清空列表并返回?[]
插入list.append(value)在列表末尾添加一個元素。animal.append("rat")?添加"rat"
list.insert(index, value)在指定索引處插入一個元素。animal.insert(2, "lion")?在索引?2?處插入?"lion"
list.extend(iterable)將另一個可迭代對象的所有元素添加到列表末尾。animal.extend(["fish", "shrimp"])?添加?"fish"?和?"shrimp"
其他操作len(list)返回列表的長度。len(animal)?返回?4
list.sort()對列表進行排序(默認升序)。animal.sort()?排序列表
list.reverse()反轉列表中的元素順序。animal.reverse()?反轉列表
list.copy()返回列表的淺拷貝。深拷貝方法為deepcopy()new_animal = animal.copy()?創建?animal的副本
list.count(value)返回列表中匹配元素的個數。animal.count("cat")?返回?1

查詢

# 列表查詢操作  通過索引訪問元素,索引從0開始。
animal = ['dog','cat','elephant','rabbit']
# 獲取cat
print(animal[1]) # 輸出:cat
# list[-1] 函數訪問最后一個函數 或者 list[len()-1]
print(animal[len(animal)-1]) # 輸出:rabbit
# list[start:end] 切片操作,獲取從start到end-1的子列表。左閉右開
print(animal[0:2]) # 輸出:['dog', 'cat']
# list.index(value) 返回第一個匹配元素的索引。
print(animal.index('cat')) #輸出:1
# in 是否在集合中
print('monkey' in animal) #輸出:false

修改

# 列表修改操作
animal = ['dog','cat','elephant','rabbit']
# cat修改為monkey
animal[1]= 'monkey'
print(animal) # 輸出: ['dog', 'monkey', 'elephant', 'rabbit']
# list[start:end] = [values] 修改切片范圍內的元素。 dog和monkey修改為giraffe和ant 注意使用[1,2]會變成添加['dog', 'giraffe', 'ant', 'elephant', 'rabbit']考慮為什么
animal[0:2]= ['giraffe','ant']
print(animal) # 輸出: ['dog','monkey','giraffe','ant']

刪除

# 列表刪除操作
animal = ['dog','cat','elephant','rabbit']
# del list[index] 刪除指定索引處的元素。
del animal[1]
print(animal) # 輸出: ['dog', 'elephant', 'rabbit']
# list.remove(value) 刪除第一個匹配的元素。
animal.remove('elephant')
print(animal) # 輸出: ['dog', 'rabbit']
# list.pop(index)	刪除并返回指定索引處的元素(默認刪除最后一個元素)。
animal.pop()
print(animal) # 輸出: ['dog']
# list.clear()	清空列表中的所有元素。	animal.clear()清空列表
animal.clear()
print(animal) # 輸出: []

插入

# 列表添加操作
animal = ['dog','cat','elephant','rabbit']
# list.append(value)	在列表末尾添加一個元素
animal.append('rat')
print(animal) # 輸出: ['dog','cat','elephant','rabbit','rat']
# list.insert(index, value)	在指定索引處插入一個元素。
animal.insert(2,'lion')
print(animal) # 輸出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat']
# list.extend(iterable)	將另一個可迭代對象的所有元素添加到列表末尾。 shrimp蝦
animal.extend(['fish','shrimp'])
print(animal)   # 輸出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat', 'fish', 'shrimp']

??其他操作

# 列表其他操作
animal = ['dog','cat','elephant','rabbit']
# len(list)	返回列表的長度。
print(len(animal)) # 4
# list.sort()	對列表進行排序(默認升序)。
animal.sort()
print(animal) # ['cat', 'dog', 'elephant', 'rabbit']
# list.reverse()	反轉列表中的元素順序。
animal.reverse()
print(animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.copy()	返回列表的淺拷貝。
new_animal = animal.copy()
print(new_animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.count(value) 返回列表中匹配元素的個數。
print(animal.count('cat')) # 1

代碼塊

????????在Python中,代碼塊是通過縮進來定義的。通常使用4個空格或一個Tab鍵(跟java不同的是使用代碼縮進來完成java代表是以{開始或者以}結束為一個代碼塊)來縮進。代碼塊用于組織代碼,使其在邏輯上成為一個整體。

# 這是一個代碼塊 input函數式輸入框 類似與java的system.in輸入 系統輸入
s = int(input('請輸入一個數字:'))
if s > 0: # 也可以寫if(s >0 )但是沒必要 因為python給個提示建議去掉 保證代碼的按照縮進來進行更加規范print("這個數字是大于0的數字!")  # 這行代碼屬于if語句的代碼塊
elif s == 0:print("這個數字是等于0的數字!")  # 這行代碼屬于elif語句的代碼塊
else:print("這個數字是小于0的數字!")  # 這行代碼屬于else語句的代碼塊

方法塊

????????在Python中,使用def關鍵字來定義函數。函數是一段可重用的代碼,可以接受參數并返回結果。

# def來定義方法
def method1(name,age):print('姓名:'+name,'年齡:'+age)
input(method1('python','18'))

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

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

相關文章

ThinkPHP使用phpword讀取模板word文件并添加表格

1.安裝phpword包composer require phpoffice/phpword 2.模板文件結構 如上圖框住的是要替換的文本和要復制表格樣式 實現代碼 <?phpnamespace app\api\logic;use PhpOffice\PhpWord\Element\Table; use PhpOffice\PhpWord\SimpleType\TblWidth; use PhpOffice\PhpWord\…

(原創)用python語言基于paddleocr構建批量識別實現紙質和電子的增值稅專用發票程序

文章目錄 1. 說明2. 準備工作3. 代碼3.1 導入庫&#xff1a;3.2 遍歷發票指定處理方式3.3 發票識別相關函數3.4 發票字段定位函數3.6 識別記錄相關函數3.6 識別結果校驗3.7 文件預處理等其他函數3.8 main主函數 1. 說明 1.1 以paddle識別引擎為基礎的增值稅發票識別程序&#…

DeepSeek搭配Excel,制作自定義按鈕,實現辦公自動化!

今天跟大家分享下我們如何將DeepSeek生成的VBA代碼&#xff0c;做成按鈕&#xff0c;將其永久保存在我們的Excel表格中&#xff0c;下次遇到類似的問題&#xff0c;直接在Excel中點擊按鈕&#xff0c;就能10秒搞定&#xff0c;操作也非常的簡單. 一、代碼準備 代碼可以直接詢問…

解決顯示器在高刷條件下花屏的問題

起因是家里的顯示器好久沒用之后&#xff0c;100HZ的刷新率下會花屏&#xff0c;在75HZ的情況下就正常顯示&#xff0c;在網上找了一圈感覺是硬件問題解決不了 于是想了想如果我用90HZ呢&#xff1f;不過原始的情況下沒有自定義刷新率的選擇&#xff0c;不過amd和nvida控制面板…

IP-----雙重發布

目錄 6.雙重發布 1.重發布的作用 2.部署條件 1.必須存在ASBR 2.種子度量值 3.重發布的規則 4.重發布的數量 5.重發布的場景 1.場景和規則 2.直連和靜態 3.動態RIP 4.動態OSPF 5.更改開銷值 6.重發布的問題1 7.重發布的問題2 1.流量 2.前綴列表 3.偏移列表 4…

藍橋杯試題:DFS回溯

一、題目要求 輸入一個數組n&#xff0c;輸出1到n的全排列 二、代碼展示 import java.util.*;public class ikun {static List<List<Integer>> list new ArrayList<>();public static void main(String[] args) { Scanner sc new Scanner(System.in);…

Ruby基礎

一、字符串 定義 283.to_s //轉為string "something#{a}" //定義字符串&#xff0c;并且插入a變量的值 something//單引號定義變量 %q(aaaaaaaaa) // 定義字符串&#xff0c;&#xff08;&#xff09;內可以是任何數&#xff0c;自動轉義雙引號%Q("aaaaa"…

基于提示驅動的潛在領域泛化的醫學圖像分類方法(Python實現代碼和數據分析)

摘要 醫學圖像分析中的深度學習模型易受數據集偽影偏差、相機差異、成像設備差異等導致的分布偏移影響&#xff0c;導致在真實臨床環境中診斷不可靠。領域泛化&#xff08;Domain Generalization, DG&#xff09;方法旨在通過多領域訓練提升模型在未知領域的性能&#xff0c;但…

C#—Settings配置詳解

C#—Settings配置詳解 在C#項目中&#xff0c;全局配置通常指的是應用程序的設置&#xff08;settings&#xff09;&#xff0c;這些設置可以跨多個類或組件使用&#xff0c;并且通常用于存儲應用程序的配置信息&#xff0c;如數據庫連接字符串、用戶偏好設置等。 Settings配置…

國自然面上項目|基于多模態MR影像的膠質母細胞瘤高危區域定位及預后預測研究|基金申請·25-02-28

小羅碎碎念 今天和大家分享一個面上項目&#xff0c;執行年限為2019.01&#xff5e;2022.12&#xff0c;直接費用為57萬元。 膠質母細胞瘤&#xff08;GBM&#xff09;預后差且差異大&#xff0c;異質性是重要因素&#xff0c;臨床手段難評價。影像組學為異質性研究提供方法&am…

Nat Mach Intell | AI分子對接算法評測

《Nature Machine Intelligence》發表重磅評測&#xff0c;系統評估AI與物理方法在虛擬篩選&#xff08;VS&#xff09;中的表現&#xff0c;突破藥物發現效率瓶頸。 核心評測體系&#xff1a;三大數據集 研究團隊構建了三個新型測試集&#xff1a; TrueDecoy&#xff1a;含14…

安路FPGA開發入門:軟件安裝與點燈與仿真(TangDynasty ModelSim)

文章目錄 前言軟件安裝開發軟件仿真軟件 點燈測試代碼編寫與編譯引腳分配固件下載 仿真測試ModelSim添加仿真庫TangDynasty仿真設置進行仿真 后記 前言 最近因為工作需要用安路的FPGA&#xff0c;這里對安路FPGA開發相關流程做個記錄。作為測試只需要一個核心板&#xff08;我這…

千峰React:外部庫引用

flushSync強制刷新 如果不強制刷新是這樣&#xff1a;每次count在下一輪才更新 import { useState, useRef } from react import { flushSync } from react-domfunction App() {const [count, setCount] useState(0)const refuseRef(null)const handleClick () > { setCo…

防火墻旁掛組網雙機熱備負載均衡

一&#xff0c;二層交換網絡&#xff1a; 使用MSTPVRRP組網形式 VLAN 2--->SW3為主,SW4 作為備份 VLAN 3--->SW4為主,SW3 作為備份 MSTP 設計 --->SW3 、 4 、 5 運行 實例 1 &#xff1a; VLAN 2 實例 2 &#xff1a; VLAN 3 SW3 是實例 1 的主根&#xff0c;實…

結合PyMuPDF+pdfplumber,刪除PDF指定文本后面的內容

?? 一、需求場景解析 在日常辦公中,我們經常會遇到這樣的痛點: 合同處理:收到上百份PDF合同,需要找到"簽署頁"之后的內容并刪除報表加工:批量移除財務報表中的敏感數據區域文檔歸檔:快速提取技術文檔的關鍵章節傳統的手動操作方式存在三大致命缺陷: ? 耗時…

二、QT和驅動模塊實現智能家居----2、編譯支持QT的系統

因為我們的Linux內核文件不支持QT系統&#xff08;當然如果你的支持&#xff0c;完全跳過這篇文章&#xff09;&#xff0c;所以我們要從網上下載很多軟件包&#xff0c;這里直接用百問網的軟件包&#xff0c;非常方便。 一&#xff1a;Ubuntu 配置 1 設置交叉編譯工具鏈 以…

el-select的下拉選擇框插入el-checkbox

el-check注意這里要使用model-value綁定數據 <el-selectv-model"selectDevice"multiplecollapse-tags:multiple-limit"5"style"width: 200px"popper-class"select-popover-class" ><el-optionv-for"item in deviceList…

UNION 和 UNION ALL 的區別:深入解析 SQL 中的合并操作

在 SQL 的世界里&#xff0c;當我們需要合并多個查詢結果集時&#xff0c;UNION和UNION ALL是兩個常用的操作符。雖然它們的功能看起來相似&#xff0c;但實際上有著重要的區別&#xff0c;這些區別在不同的應用場景中會對查詢結果和性能產生顯著影響。本文將詳細探討UNION和UN…

5.Linux配置虛擬機

步驟一 步驟二 步驟三 步驟四 finalshell

2024華為OD機試真題-熱點網站統計(C++)-E卷-100分

2024華為OD機試最新E卷題庫-(C卷+D卷+E卷)-(JAVA、Python、C++) 目錄 題目描述 輸入描述 輸出描述 用例1 用例2 考點 題目解析 代碼 c++ 題目描述 企業路由器的統計頁面,有一個功能需要動態統計公司訪問最多的網頁 URL top N。 請設計一個算法,可以高效動態統計 …