Python學習中進行條件判斷(if, else, elif)

條件判斷是編程中必不可少的一部分,它讓程序可以根據不同的條件執行不同的代碼塊。在Python中,主要使用ifelifelse語句來實現條件判斷。

基本語法

在Python中,條件判斷的基本語法如下:

if condition:# 當condition為True時,執行這段代碼pass
elif another_condition:# 當condition為False且another_condition為True時,執行這段代碼pass
else:# 當上述所有條件都為False時,執行這段代碼pass
if 語句

if語句用來測試一個條件。如果條件為True,則執行相應的代碼塊;否則,跳過該代碼塊。例如:

age = 18
if age >= 18:print("You are an adult.")

在這個例子中,如果變量age的值大于或等于18,則會輸出"You are an adult."。

elif 語句

elifelse if的縮寫,用于測試另外一個條件。elif只能在if語句之后使用,可以有多個elif條件。例如:

age = 15
if age >= 18:print("You are an adult.")
elif age >= 13:print("You are a teenager.")
else:print("You are a child.")

在這個例子中,程序會先檢查age >= 18是否為True,如果是則輸出"You are an adult.",如果不是則檢查age >= 13是否為True,如果是則輸出"You are a teenager.",否則輸出"You are a child."。

else 語句

else語句在所有條件都不滿足時執行相應的代碼塊。一個if語句塊中最多只能有一個else語句,并且它必須放在所有ifelif語句的最后。例如:

age = 10
if age >= 18:print("You are an adult.")
elif age >= 13:print("You are a teenager.")
else:print("You are a child.")

在這個例子中,由于age小于13,所有條件都不滿足,所以程序會執行else語句,輸出"You are a child."。

嵌套條件判斷

有時我們需要在一個條件判斷中再進行一個條件判斷,這種情況稱為嵌套條件判斷。例如:

age = 20
if age >= 18:print("You are an adult.")if age >= 65:print("You are a senior.")else:print("You are not a senior yet.")
else:print("You are not an adult.")

在這個例子中,如果age大于或等于18,程序會進一步檢查是否大于或等于65。如果是,則輸出"You are a senior.",否則輸出"You are not a senior yet."。如果age小于18,程序直接輸出"You are not an adult."。

使用布爾操作符

在條件判斷中,我們可以使用布爾操作符來組合多個條件。常用的布爾操作符有andornot

and 操作符

and操作符用于連接兩個條件,只有當兩個條件都為True時,整個條件才為True。例如:

age = 20
has_id = Trueif age >= 18 and has_id:print("You can enter the club.")
else:print("You cannot enter the club.")

在這個例子中,只有當age大于或等于18且has_idTrue時,程序才會輸出"You can enter the club."。

or 操作符

or操作符用于連接兩個條件,只要其中一個條件為True,整個條件就為True。例如:

age = 20
has_id = Falseif age >= 18 or has_id:print("You can enter the club.")
else:print("You cannot enter the club.")

在這個例子中,只要age大于或等于18,或者has_idTrue,程序就會輸出"You can enter the club."。

not 操作符

not操作符用于取反,即將True變為False,將False變為True。例如:

is_raining = Falseif not is_raining:print("You don't need an umbrella.")
else:print("You need an umbrella.")

在這個例子中,由于is_rainingFalsenot is_rainingTrue,所以程序會輸出"You don't need an umbrella."。

多重條件判斷

在實際應用中,我們常常需要檢查多個條件。這可以通過多個elif語句來實現。例如:

score = 85if score >= 90:print("Grade: A")
elif score >= 80:print("Grade: B")
elif score >= 70:print("Grade: C")
elif score >= 60:print("Grade: D")
else:print("Grade: F")

在這個例子中,程序會依次檢查每個條件,直到找到一個滿足的條件,然后執行相應的代碼塊。如果score大于或等于90,輸出"Grade: A";如果大于或等于80但小于90,輸出"Grade: B",以此類推。

條件表達式

Python還提供了一種簡潔的條件表達式(也稱為三元運算符),它允許在一行代碼中實現簡單的條件判斷。其語法如下:

value_if_true if condition else value_if_false

例如:

age = 20
status = "adult" if age >= 18 else "minor"
print(status)

在這個例子中,如果age大于或等于18,status的值為"adult";否則,status的值為"minor"。

實戰案例

下面通過幾個實際案例來展示如何在編程中使用條件判斷。

案例一:判斷用戶輸入的數字是奇數還是偶數
number = int(input("Enter a number: "))if number % 2 == 0:print("The number is even.")
else:print("The number is odd.")

在這個例子中,程序首先讀取用戶輸入的數字,并將其轉換為整數。然后通過取模運算number % 2來判斷該數字是奇數還是偶數。如果結果為0,說明是偶數,否則是奇數。

案例二:根據用戶輸入的分數判斷成績等級
score = int(input("Enter your score: "))if score >= 90:grade = "A"
elif score >= 80:grade = "B"
elif score >= 70:grade = "C"
elif score >= 60:grade = "D"
else:grade = "F"print("Your grade is:", grade)

在這個例子中,程序根據用戶輸入的分數,判斷并輸出對應的成績等級。

案例三:根據用戶輸入的年份判斷是否為閏年
year = int(input("Enter a year: "))if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print(year, "is a leap year.")
else:print(year, "is not a leap year.")

在這個例子中,程序根據閏年的判斷規則,判斷并輸出用戶輸入的年份是否為閏年。

總的來說,條件判斷是編程中的基本構建塊,它使程序能夠根據不同的條件執行不同的代碼。掌握ifelifelse語句,以及布爾操作符的使用,對于編寫復雜的程序至關重要。

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

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

相關文章

一篇讀懂128陷阱

128陷阱 128陷阱的概念包裝器類自動裝箱自動拆箱128陷阱 Intager源碼equals 128陷阱的概念 首先想要清楚什么是128陷阱,需要了解一些概念 包裝器類 包裝器類(Wrapper classes)是Java中的一組類,它們允許將基本數據類型&#xf…

NCCL 中的一些輔助debug 知識點

1&#xff0c;調試nccl 啟動kernel的方法 ncclLaunchKernel cuLaunchKernelEx ncclStrongStreamLaunchKernel cudaLaunchKernel ncclLaunchOneRank cudaLaunchKernel 在 nccl lib 中&#xff0c;不存在使用<<<grid, block,,>>> 這種類似方式啟…

算法題型歸類整理及同類題型解法思路總結(持續更新)

1、最優路線 通用思路 1、遞歸 #案例1-最優路測路線 題目描述 評估一個網絡的信號質量&#xff0c;其中一個做法是將網絡劃分為柵格&#xff0c;然后對每個柵格的信號質量計算。 路測的時候&#xff0c;希望選擇一條信號最好的路線&#xff08;彼此相連的柵格集合&#x…

12種增強Python代碼的函數式編程技術

前言 什么是函數式編程&#xff1f; 一句話總結&#xff1a;函數式編程(functional programming)是一種編程范式&#xff0c;之外還有面向對象&#xff08;OOP&#xff09;、面向過程、邏輯式編程等。 函數式編程是一種高度抽象的編程范式&#xff0c;它倡導使用純函數&#x…

算法·二分

二分枚舉 適用條件&#xff1a; 答案有明顯上下界答案具有單調性:a滿足,若b>a可以知b必定滿足。本質上是枚舉的對數優化 思維技巧 解決問題->>驗證答案,明顯前者比后者更加困難若題目有最大值最小&#xff0c;最小值最大這種經典條件&#xff0c;隱含著答案有界 …

Docker-11☆ Docker Compose部署RuoYi-Cloud

一、環境準備 1.安裝Docker 附:Docker-02-01☆ Docker在線下載安裝與配置(linux) 2.安裝Docker Compose 附:Docker-10☆ Docker Compose 二、源碼下載 若依官網:RuoYi 若依官方網站 鼠標放到"源碼地址"上,點擊"RuoYi-Cloud 微服務版"。 跳轉至G…

深入理解計算機系統 CSAPP 家庭作業8.22

書本知識夠你寫出答案,但是如果你想驗證你寫的答案,就要一些額外的東西.這本書很多題目都是如此 /** mysystem.c*/ #include <stdio.h> #include "csapp.h"int mysystem(char* command) {pid_t pid;int status;if ((pid Fork()) 0) {/*這里是關鍵用子程序去…

新加坡工作和生活指北:工作篇

文章首發于公眾號&#xff1a;Keegan小鋼 一年多以前&#xff08;2022 年 8 月初&#xff09;&#xff0c;那時我過來新加坡才 4 個多月&#xff0c;就寫了篇文章分享了當時在新加坡的生活和工作體驗。文章得到的反響不錯&#xff0c;但也反饋出了一些新的問題&#xff0c;比如…

預訓練對齊:數學理論到工程實踐的橋梁

在人工智能和機器學習領域&#xff0c;預訓練模型的對齊是一個至關重要的概念。本篇博客源自聽了一場黃民烈老師關于大模型對齊的分享&#xff0c;整理內容如下&#xff0c;供大家參考。 數學理論中的預訓練對齊 數學理論上&#xff0c;預訓練對齊是什么&#xff1f; 序列…

Java-關鍵字(static,final)

1.1 static關鍵字 static關鍵字 : 靜態的意思 , 可以修飾變量 , 也可以修飾方法 , 被static修飾的成員 , 我們叫做靜態成員 static特點 : 靜態成員被所類的所有對象共享 隨著類的加載而加載 , 優先于對象存在 可以通過對象調用 , 也可以通過類名調用 , 建議使用類名 1. 靜…

Keepalived+HAProxy 集群及虛IP切換實踐

1、軟件介紹 ①Keepalived keepalive是一個用c語言編寫的路由軟件&#xff0c;這個項目的主要目標是為Linux系統和基于Linux的基礎設施提供簡單而健壯的負載平衡和高可用性設施。負載均衡框架依賴于眾所周知且廣泛使用的Linux Virtual Server (IPVS)內核模塊提供第4層負載均衡…

srs直播內網拉流帶寬飆升問題記錄

問題背景 srs部署在云服務器上&#xff0c;32核cpu&#xff0c;64G內存&#xff0c;帶寬300M. 客戶端從srs拉流&#xff0c;發現外網客戶端拉流&#xff0c;cpu和帶寬都正常。然而內網客戶端拉流&#xff0c;拉流人數超過5人以上&#xff0c;帶寬就會迅速飆升。 排查 用srs…

數學建模論文寫作文檔word

目錄 1. 摘要寫法1.1 確定題目與方法1.2 編寫開頭段落1.3 填寫問題一1.4 重復步驟3填寫其他問題1.5 編寫結尾段落1.6 編寫關鍵詞 2. 問題重述2.1 問題背景2.2 問題提出 3. 問題分析4. 問題X模型的建立與求解5. 模型的分析5.1 靈敏度分析5.2 誤差分析&#xff08;主要用于預測類…

Milvus lite start 及存儲策略

背景 今天開始寫下Milvus&#xff0c;為了方便&#xff0c;我直接使用的是 milvus-lite 版本&#xff0c;default 情況下&#xff0c;你可能不知道他到底將 db 存儲到什么位置了。啟動 default-server&#xff0c;看下Milvus 的start及存儲邏輯 主邏輯 def start(self):sel…

adb參數詳解

文章目錄 1. -d2. -e3. -s4. -t5. -H6. -P7. -L8. --one-device9. --exit-on-write-error10. connect / disconnect11. pair12. forward13. forward --list14. reverse15. mdns check16. mdns services17. push18. pull19. sync20.shell21. install22. uninstall23. bugreport2…

最小二乘支持向量機(Least Squares Support Vector Machine,LSSVM)及其Python和MATLAB實現

LSSVM&#xff08;Least Squares Support Vector Machine&#xff09;又稱最小二乘支持向量機&#xff0c;是支持向量機&#xff08;SVM&#xff09;的一種變體&#xff0c;它通過將SVM的優化問題轉化為帶約束的二次規劃問題&#xff0c;利用最小二乘法進行優化求解&#xff0c…

redis集群部署 (通過redis工具快速部署,手動部署)

目錄 一、快速部署集群 1、 進入集群目錄&#xff0c;創建集群 2、 查看正常啟動 二、部署集群 1、分配集群節點 2、驗證集群可用性 3、停止redis進程 三、手動部署集群 1、配置redis.conf配置文件 2、啟動redis集群 3、手動創建redis集群 4、驗證 四、集群…

mysql異常數據損壞處理,報錯:Operating system error number 2 in a file operation

一、問題描述 某次一線反應&#xff0c;某主庫表全部丟失&#xff0c;查看為空&#xff0c;登陸主機查看mysqld.log后報錯&#xff1a;Operating system error number 2 in a file operation數據目錄OS重裝后修改過&#xff0c;但只是指向方式不同&#xff0c;目錄還是同一目錄…

【綠色版】Mysql下載、安裝、配置與使用(保姆級教程)

大家都知道&#xff0c;Mysql安裝版的卸載過程非常繁瑣&#xff0c;而且卸載不干凈會出現許多問題&#xff0c;很容易讓大家陷入重裝系統的窘境。基于此&#xff0c;博主今天給大家分享綠色版Mysql的安裝、配置與使用。 目錄 一、Mysql安裝、配置與使用 1、下載解壓 2、創建…

vue對axios進行請求響應封裝

一、原因 像是在一些業務邏輯上&#xff0c;比如需要在請求之前展示loading效果&#xff0c;或者在登錄的時候判斷身份信息&#xff08;token&#xff09;等信息有沒有過期&#xff0c;再者根據服務器響應回來的code碼進行相應的提示信息。等等在請求之前&#xff0c;之后做的一…