Python基礎003

Python流程控制基礎

1.條件語句

內置函數input
a = input("請輸入一段內容:")
print(a)
print(type(a))

代碼執行的時候遇到input函數,就會等鍵盤輸入結果,已回車為結束標志,也就時說輸入回車后代碼才會執行

2.順序執行

Python代碼在執行過程中,遵循下面的基本原則:
普通語句,直接執行;
碰到函數,將函數體載入內存,并不直接執行
碰到類,執行類內部的普通語句,但是類的方法只載入,不執行
碰到if、for等控制語句,按相應控制流程執行
碰到@,break,continue等,按規定語法執行
碰到函數、方法調用等,轉而執行函數內部代碼,執行完畢繼續執行原有順序代碼

Python代碼塊

Python以縮進來標記代碼塊,代碼塊必須要縮進,沒有縮進不是代碼塊。另外,同一代碼塊的縮進量要相同,縮進量不同的不屬于同一代碼塊。

1.不要忘記縮進

if、elif、else后面的代碼塊一定要縮進,而且縮進量要大于if、elif、else本身。
先說明一個反面教材

age = input("請輸入您的名字:")
if age < 18 :
print("警告你還未成年,不能進入網吧")
else:
print("你已經成年,歡迎光臨")IndentationError: expected an indented block after 'if' statement on line 95
縮進錯誤:第95行的“if”語句后應出現縮進塊不縮進的話,就不能構成ifelse執行體

2.縮進多少??

Python要求代碼塊必須縮進,但是卻沒有要求縮進量,你可以縮進n個空格,也可以縮進n個Tab鍵的位置。但是從編程習慣的角度看,我建議縮進1個Tab鍵的位置,或者縮進4個空格;它們兩者其實是等價的,很多編輯器都可以將Tab鍵設置為4個空格

3.所有的語句都需要縮進

age = int(input("請輸入您的年齡:"))
if age < 18 :print("你還未成年,建議在家人陪同下使用該軟件!")
print("未成年人如果得到了家長的同意,請忽略以上提示。") #此行忘記縮進

在這里插入圖片描述
用戶輸入年齡已超過18,但卻出現了“未成年人”提示,好尷尬~~。因為第二個print語句沒有縮進,if沒有把它和第一個print語句當做同一個代碼塊,只要把第二個print語句同樣縮進4個空格即可。

4.同一代碼塊需要縮進相同

age = int(input("請輸入您的年齡:"))
if age < 18 :print("你還未成年,建議在家人陪同下使用該軟件!")print("未成年人如果得到了家長的同意,請忽略以上提示。") #此行忘記縮進
還是上面的示例,第二語句縮進比第一語句縮進多了系統也會提示錯誤。

在這里插入圖片描述
位于同一代碼塊的所有語句必須擁有相同的縮進量,多一個或少一個空格都不行

5.不要隨便縮進

另外需要注意的是,不需要使用代碼塊的地方千萬不要縮進,一旦縮進就會產生一個 代碼塊。
下面的代碼是一個反面教材:

info = "Python 教程的網址是:http://c.biancheng.net/python/"print(info)

這兩條簡單的語句沒有包含分支、循環、函數、類等結構,不應該使用縮進。

理解if語句和語句塊

if語句是一種分支語句,用于判斷條件是否成立,如果條件成立則執行相應的代碼,否則不執行,if語句通常的語法形式如下:

num = int(input("請輸入一個整數:"))
if num % 2 == 0:print("您輸入的是偶數")

在這里插入圖片描述
if語句不需要只有一個語句,它可以有一個塊,一個塊可以是多個語句。

num = int(input("請輸入一個整數:"))
if num % 2 == 0:print("您輸入的是偶數")print("您輸入的是偶數")print("您輸入的是偶數")print("您輸入的是偶數")

在這里插入圖片描述

1.if單分支語句

if語句用于基于某個條件執行代碼塊。當您只關心一個條件并且只想在該條件為真時執行代碼時,您可以使用單分支的if語句

x = 10
if x > 5:print("x比5大")

在這里插入圖片描述
上面示例,我們定義了一個變量x并將其設置為10,然后,我們使用if語句檢查x是否大于5.因為x的值大于5,所以if語句的代碼塊會被執行。

2.if單分支例子

num = 66
if num > 0 :print("這是一個整數")

在這里插入圖片描述

  • 定義一個變量num,并賦值為66。
  • 使用if語句檢查num是否大于0。
  • 如果num大于0,程序將執行if語句塊內的代碼。
  • 在if語句塊內,使用print函數輸出字符串"這是一個正數."。
  • 當你運行這段代碼時,由于num的值為66,大于0,因此程序會輸出"這是一個正數."

3.if單分支語句擴展

if else子句
如果我們想要有條件地執行兩種不同的代碼塊,可以使用if-else語句

num = int(input("請輸入一個整數:"))
if num % 2 == 0:print("您輸入的是偶數")
else:print("您輸入的是奇數"

在這里插入圖片描述

#引入os標準模塊
import os
#os.name方法,返回操作系統類型,賦值給變量s1
s1 = os.name
#如果s1等于nt,則執行符語句塊中的內容
if s1 == 'nt':print(f"The current os is {s1}.")
elif s1 == 'posix':print("The is Linxu")

在這里插入圖片描述

root@localhost:/home/scrpict/py# python
Python 3.9.18 (main, Jan 24 2024, 00:00:00) 
[GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.name
'posix'
>>> exit()

在這里插入圖片描述

root@localhost:/home/scrpict/py# cat /etc/os-release
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PLATFORM_ID="platform:el9"
PRETTY_NAME="CentOS Stream 9"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:9"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://issues.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION'
NAME="CentOS Stream"
VERSION="9"
VERSION_ID="9"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID
NAME="CentOS Stream"
VERSION="9"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $1}'
NAME
VERSION
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}'
"CentOS Stream"
"9"
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}' | sed 's@"@@g'
CentOS Stream
9
root@localhost:/home/scrpict/py# cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}' | sed 's@"@@g' | column
CentOS Stream	9root@localhost:/home/scrpict/py# os_type=`cat /etc/os-release | grep -E '^NAME|^VERSION' | grep -v ID |awk -F"=" '{print $2}' | sed 's@"@@g' | column`
root@localhost:/home/scrpict/py# echo $os_type 
CentOS Stream 9
root@localhost:/home/scrpict/py# echo $os_type | tr -d " "
CentOSStream9
root@localhost:/home/scrpict/py# os_type=$(echo $os_type | tr -d " ")
root@localhost:/home/scrpict/py# echo $os_type 
CentOSStream9
檢查變量d是否有某個鍵
d = {"a": 1}
key = "a"
if isinstance(d, dict) and key in d:print(f"字典含有鍵'{key}'")
else:   print(f"字典不含有鍵'{key}'"

4.if-elif-else 語句

我們需要根據多個條件進行判斷,此時可以使用 if-elif-else 語句

age = int(input("請輸入這個人的年齡:"))
if age<12:print("還沒上初中")
elif 12 <= age < 15:print("他是一個初中生") 
elif 15 <= age < 18:print("他是一個高中生")
elif 18 <= age < 22:print("他是大學生")
else:print("他已經畢業踏入社會了")

在這里插入圖片描述

if多分支語句

1.elif多分支多條件語句

判斷數字num是正數還是負數
num = int(input("請輸入一個數字:"))
if num > 0:print("這是一個正數")
elif num < 0:print("這是一個負數")

在這里插入圖片描述

2.if…elif…else子句

age = int(input("請輸入你的年齡 :"))
if age >= 18:print("你已成年。")
else:print("你還未成年。")

在這里插入圖片描述

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

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

相關文章

pandas數據分析(5)

pandas使用Numpy的np.nan代表缺失數據&#xff0c;顯示為NaN。NaN是浮點數標準中地Not-a-Number。對于時間戳&#xff0c;則使用pd.NaT&#xff0c;而文本使用的是None。 首先構造一組數據&#xff1a; 使用None或者np.nan來表示缺失的值&#xff1a; 清理DataFrame時&#xf…

深度學習之交叉驗證

交叉驗證&#xff08;Cross-Validation&#xff09;是一種用于評估和驗證機器學習模型性能的技術&#xff0c;尤其是在數據量有限的情況下。它通過將數據集分成多個子集&#xff0c;反復訓練和測試模型&#xff0c;以更穩定和可靠地估計模型的泛化能力。常見的交叉驗證方法有以…

java設計模式(四)——抽象工廠模式

一、模式介紹 改善在工廠方法模式中&#xff0c;擴展時新增產品類、工廠類&#xff0c;導致項目中類巨多的場面&#xff0c;減少系統的維護成本&#xff0c;且一個工廠可以生成多種產品&#xff0c;而不是同一種的產品&#xff0c;比如一個工廠既可以生產鞋子又可以衣服&#…

解決數據庫PGSQL,在Mybatis中創建臨時表報錯TODO IDENTIFIER,連接池用的Druid。更換最新版本Druid仍然報錯解決

Druid版本1.1.9報錯Caused by: java.sql.SQLException: sql injection violation, syntax error: TODO IDENTIFIER : CREATE TEMPORARY TABLE temp_ball_classify (id int8 NOT NULL,create_time TIMESTAMP,create_by VARCHAR,classify_name VARCHAR) 代碼如下&#xff1a; 測…

四川蔚瀾時代電子商務有限公司打造抖音電商服務新高地

在數字化浪潮洶涌澎湃的今天&#xff0c;電商行業以其獨特的魅力和強大的市場潛力&#xff0c;成為了推動經濟增長的新引擎。四川蔚瀾時代電子商務有限公司&#xff0c;作為這個領域的佼佼者&#xff0c;正以其專業的服務、創新的理念和卓越的實力&#xff0c;引領抖音電商服務…

用AI,每天創作200+優質內容,2分鐘教會你操作!

前段時間發布了這篇“尋找爆款文案及標題的9大渠道&#xff0c;直接搬運都能搞流量&#xff01;”&#xff0c;里面我講到如何尋找爆款標題。最近不少朋友問我&#xff0c;如何創作這個標題相關的內容。 多數平臺都有風控規則&#xff0c;有些平臺內容也會有字數要求。為了讓大…

SpringBoot 項目整合 MyBatis 框架,附帶測試示例

文章目錄 一、創建 SpringBoot 項目二、添加 MyBatis 依賴三、項目結構和數據庫表結構四、項目代碼1、application.yml2、TestController3、TbUser4、TbUserMapper5、TestServiceImpl6、TestService7、TestApplication8、TbUserMapper.xml9、MyBatisTest 五、瀏覽器測試結果六、…

JavaScript實現時鐘計時

會動的時鐘 1.目標 2.分析 1.最開始頁面不顯示時間&#xff0c;有兩個按鈕 開始 暫停。開始按鈕是可以點擊的&#xff0c;暫停按鈕不能點擊 2.當點擊開始按鈕后&#xff0c;設置開始按鈕不可用&#xff0c;暫停按鈕可用。然后將當前系統時間放到按鈕上面。每隔1秒中更新一下…

TransMIL:基于Transformer的多實例學習

MIL是弱監督分類問題的有力工具。然而&#xff0c;目前的MIL方法通常基于iid假設&#xff0c;忽略了不同實例之間的相關性。為了解決這個問題&#xff0c;作者提出了一個新的框架&#xff0c;稱為相關性MIL&#xff0c;并提供了收斂性的證明。基于此框架&#xff0c;還設計了一…

3.js - 反射率(reflectivity) 、折射率(ior)

沒啥太大的感覺 反射率 reflectivity 概念 反射率&#xff1a;指的是&#xff0c;材質表面反射光線的能力反射率&#xff0c;用于控制材質對環境光&#xff0c;或光源的反射程度反射率越高&#xff0c;材質表面反射的光線越多&#xff0c;看起來就越光亮使用 適用于&#xff0…

【OCPP】ocpp1.6協議第5.1章節Cancel Reservation的介紹及翻譯

目錄 5.1 取消預約Cancel Reservation-概述 Cancel Reservation CancelReservation.req 請求消息 CancelReservation.conf 確認消息 取消預定的流程 應用場景 示例消息 CancelReservation.req 示例 CancelReservation.conf 示例 總結 5.1 取消預約Cancel Reservation…

VScode 常用插件

基礎開發插件 Chinese (Simplified)&#xff08;簡體中文語言包&#xff09;&#xff1a;這是適用于VS Code的中文&#xff08;簡體&#xff09;語言包&#xff0c;適用于英語不太流利的用戶。Auto Rename Tag&#xff1a;這個插件可以同步修改HTML/XML標簽&#xff0c;當用戶修…

【PYG】Cora數據集分類任務計算損失,cross_entropy為什么不能直接替換成mse_loss

cross_entropy計算誤差方式&#xff0c;輸入向量z為[1,2,3]&#xff0c;預測y為[1]&#xff0c;選擇數為2&#xff0c;計算出一大坨e的式子為3.405&#xff0c;再用-23.405計算得到1.405MSE計算誤差方式&#xff0c;輸入z為[1,2,3]&#xff0c;預測向量應該是[1,0,0]&#xff0…

Dify入門指南

一.Dify介紹 生成式 AI 應用創新引擎&#xff0c;開源的 LLM 應用開發平臺。提供從 Agent 構建到 AI workflow 編排、RAG 檢索、模型管理等能力&#xff0c;輕松構建和運營生成式 AI 原生應用&#xff0c;比 LangChain 更易用。一個平臺&#xff0c;接入全球大型語言模型。不同…

CesiumJS【Basic】- #050 繪制掃描線(Primitive方式)

文章目錄 繪制掃描線(Primitive方式)- 需要自定義著色器1 目標2 代碼2.1 main.ts繪制掃描線(Primitive方式)- 需要自定義著色器 1 目標 使用Primitive方式繪制掃描線 2 代碼 2.1 main.ts import * as Cesium from cesium;const viewer = new Cesium.Viewer(cesiumConta…

自我反思與暑假及大三上學期規劃

又要放暑假了&#xff0c;依稀記得上個暑假一邊練車&#xff0c;一邊試圖拿捏C語言&#xff0c;第一次感覺暑假也可以如此忙碌。但是開學以后&#xff0c;我并沒有把重心放在期望自己應該做的事情上&#xff0c;更多的時間花費在了處理學院的相關事務。現在看來&#xff0c;大二…

《昇思 25 天學習打卡營第 9 天 | FCN 圖像語義分割 》

活動地址&#xff1a;https://xihe.mindspore.cn/events/mindspore-training-camp 簽名&#xff1a;Sam9029 這一章節 出現了一個 深度學習 中經常出現的概念 全卷積網絡&#xff08;Fully Convolutional Networks&#xff09; : 官話&#xff1a;FCN 主要用于圖像分割領域&…

德璞資本:橋水公司如何利用AI實現投資決策的精準提升?

摘要&#xff1a; 在金融科技的浪潮中&#xff0c;橋水公司推出了一只依靠機器學習決策的創新基金&#xff0c;吸引了大量投資者的關注。本文將深入探討該基金的背景、AI技術的應用、對橋水公司轉型的影響&#xff0c;以及未來發展的前景。 新基金背景&#xff1a;橋水公司的創…

2024年7月2日 (周二) 葉子游戲新聞

老板鍵工具來喚去: 它可以為常用程序自定義快捷鍵&#xff0c;實現一鍵喚起、一鍵隱藏的 Windows 工具&#xff0c;并且支持窗口動態綁定快捷鍵&#xff08;無需設置自動實現&#xff09;。 卸載工具 HiBitUninstaller: Windows上的軟件卸載工具 經典名作30周年新篇《恐怖驚魂夜…

MyBatis入門案例

實施前的準備工作&#xff1a; 1.準備數據庫表2.創建一個新的springboot工程&#xff0c;選擇引入對應的起步依賴&#xff08;mybatis、mysql驅動、lombok&#xff09;3.在application.properties文件中引入數據庫連接信息4.創建對應的實體類Emp&#xff08;實體類屬性采用駝峰…