日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python基本結(jié)構(gòu)之判斷語句的用法詳解_python

作者:謓澤 ? 更新時(shí)間: 2022-09-15 編程語言

邏輯控制

邏輯控制其實(shí)也就是判斷,判斷是非常重要的,無論是哪一門語言。沒有判斷那都是不完整的語言。因此判斷是非常重要的。

使用③種基本結(jié)構(gòu)就可以實(shí)現(xiàn)復(fù)雜算法,這其中就有循環(huán)、順序以及判斷。

在程序的設(shè)計(jì)當(dāng)中,代碼并不是逐步按照順序進(jìn)行執(zhí)行的,在運(yùn)行到某一行代碼當(dāng)中,需要停下進(jìn)行判斷接下來將要運(yùn)行到那一個(gè)分支代碼,這種判斷就代表的是分支結(jié)構(gòu)。

分支結(jié)構(gòu)是可以使用 if 語句來進(jìn)行判斷的,而我們本篇博客講的也是 if 語句。

在程序中可能會(huì)遇到需要循環(huán)出現(xiàn)的情況,例如輸入100次Python,那么此時(shí)就需要用到循環(huán)語句,我們不可能直接打印100次print,這個(gè)是極其沒有效率。所以,明顯是不能的。那么此時(shí)就要用到 while、for、range 等。

Python中的邏輯流程控制還包括跳出breal、繼續(xù)continue、遍歷range等語句后面也會(huì)詳細(xì)介紹這些流程控制語句的。

數(shù)字邏輯條件

在正式開始之前來說說數(shù)學(xué)當(dāng)中常用的邏輯條件,因?yàn)檫@些邏輯條件很多都會(huì)配合條件控制if 去使用。

等于:a == b

不等于:a != b

小于:a < b

小于等于:a <= b

大于:a > b

大于等于:a >= b

條件控制

條件控制語句在任何編程語言都是非常常用的。

流程圖如下↓

打個(gè)比方:就比方說你今天早上起來,昨天你學(xué)習(xí)了一整天,今天想要躺平,但是你看著別人都在那里卷,你又想要學(xué)習(xí)一整天。此時(shí)的你非常的猶豫,你在面前看到了一枚硬幣,你就想要扔色子。正面數(shù)字是學(xué)習(xí),反面?就躺平。那么在編程當(dāng)中你就要用到判斷語句if了。

接下來來寫下Python語句當(dāng)中 if 的表現(xiàn)形式,如下代碼所示?

if 條件語句1:
? ? 執(zhí)行語句1
elif 條件語句:
? ? 執(zhí)行語句2
else:
? ? 執(zhí)行語句3

執(zhí)行過程如下?

①→判斷條件語句 1 是否為 Ture(真),如果為 Ture 就執(zhí)行語句塊1,其它的語句塊并不會(huì)執(zhí)行。因此整個(gè)條件結(jié)構(gòu)語句執(zhí)行完畢。則繼續(xù)執(zhí)行其它的語句,如果條件語句1為False(假),則判斷條件語句2是否為真。

②→如果判斷條件語句2為 Ture 就執(zhí)行語句2,再執(zhí)行其它語句,如果為假,則直接執(zhí)行語句3,條件控制語句結(jié)束。

提示→冒號后面的語句塊何冒號所在的行的語句是要保持一個(gè)縮進(jìn)的。

if - 用法?

Python 中的 if else 語句可以細(xì)分為三種形式,分別是 if 語句、if else 語句和 if elif else 語句。在上面我們已經(jīng)介紹了 if elif else,接下來來介紹 if() 這個(gè)也是最簡單的判斷形式了。

流程圖如下↓

如果表達(dá)式成立(真),就執(zhí)行后面的代碼塊;如果表達(dá)式不成立(假),就什么也不執(zhí)行。那么不能光說不練,那么就來做一道題目練習(xí)下。選擇結(jié)構(gòu)判斷用戶是否符合條件,示例代碼如下↓

num = int(input('請輸入你的年齡:'))
if num < 18:
    print('你還不能去網(wǎng)吧!')
    print('年齡未滿18歲,才%d歲。'%num)
 
print('歡迎光臨!')

運(yùn)行結(jié)果

請輸入你的年齡:14
你還不能去網(wǎng)吧!
年齡未滿18歲,才14歲。
歡迎光臨!

另一種情況的運(yùn)行結(jié)果。

請輸入你的年齡:18
歡迎光臨!

張三此時(shí)就有疑問了,為什么輸入14還會(huì)歡迎光臨呢。

那么這種情況我們就要用到 if - else 或者 雙層 if 來解決了。

雙層 if 語句代碼示例↓

num = int(input('請輸入你的年齡:'))
if num < 18:
    print('你還不能去網(wǎng)吧!')
    print('年齡未滿18歲,才%d歲。'%num)
if num >= 18:
    print('歡迎光臨!')

請輸入你的年齡:14
你還不能去網(wǎng)吧!
年齡未滿18歲,才14歲。

這里使用雙層 if 語句是因?yàn)槲覀冞@里有兩層的判斷:

張三滿18歲的情況。

張三未滿18歲的情況。

if - else 用法?

if - else 的表現(xiàn)形式,如下代碼所示?

if 條件語句1:
? ? 執(zhí)行語句1
else:
? ? 執(zhí)行語句2

條件語句為真,執(zhí)行語句1。

條件語句為假,執(zhí)行語句2。

如果表達(dá)式成立,就執(zhí)行 if 后面緊跟的代碼塊1;如果表達(dá)式不成立,就執(zhí)行 else 后面緊跟的代碼塊2。

流程圖如下↓?

下面舉出一個(gè)例子,輸入數(shù)字 判斷 number 是奇數(shù)還是偶數(shù)。如下代碼所示

number = int(input('請輸入數(shù)字...'))
if number % 2 == 0:
    print('%d是偶數(shù)'%(number))
else:
    print('%d是奇數(shù)'%(number))

運(yùn)行結(jié)果

請輸入數(shù)字...12
12是偶數(shù)。

請輸入數(shù)字...11
11是奇數(shù)。

那么接著選擇結(jié)構(gòu)判斷用戶是否符合條件我們用 if else 的方法解決。代碼示例如下↓

num = int(input('請輸入你的年齡:'))
if num < 18:
    print('你還不能去網(wǎng)吧!')
    print('年齡未滿18歲,才%d歲。'%num)
else:
    print('歡迎光臨!')

運(yùn)行結(jié)果

請輸入你的年齡:14
你還不能去網(wǎng)吧!
年齡未滿18歲,才14歲。

條件語句為真,執(zhí)行語句1。不執(zhí)行 else 語句內(nèi)容。

if 嵌套?

在我們開發(fā)程序當(dāng)中,會(huì)使用 if 進(jìn)行條件語句的判斷,那么假設(shè)我們希望在條件成立的執(zhí)行語句中在增加條件判斷。這個(gè)時(shí)候就可以使用 if 語句的嵌套了。

if 的嵌套的應(yīng)用場景就是:在之前條件滿足的情況下,再來額外的進(jìn)行判斷。

if 的嵌套語法格式,除了縮進(jìn)之外是沒有任何的區(qū)別的,語法格式如下所示↓

if 條件1:
? ? 滿足條件1執(zhí)行語句
? ? ...
? ? if 條件1基礎(chǔ)上的條件2:
? ? ? ? 滿足條件2執(zhí)行語句
? ? ? ? ...
? ? # 條件2不滿足情況
? ? else:
? ? ? ? 條件2不滿足情況,執(zhí)行的代碼
?
# 條件1不滿足的情況
else:
? ? 條件1不滿足的情況執(zhí)行語句

這實(shí)際上就是在大的 if 語句 嵌套了一個(gè)小的 if 語句,上面這個(gè)多看下就理解了,有語言基礎(chǔ)的一遍就能懂了。都一樣的(@^0^)?

練習(xí)題→猜數(shù)字小游戲

import random() 方法返回隨機(jī)生成的一個(gè)實(shí)數(shù)。建議要使用這里面的東西放到起始行第一行。

rand(起始數(shù),終止數(shù));功能隨機(jī)生成數(shù)字 0~32767之間。

如下代碼所示?

import random  # 生成隨機(jī)值
person = int(input('請輸入猜拳[0石頭,1剪刀,2布]:...'))
computer = random.randint(0,2)      # rand();功能隨機(jī)生成數(shù)字 0~32767之間
# 打印三種情況
# 人 贏了
if person == 0 and computer == 1:
    print('老鐵666')
    pass
elif person == 1 and computer == 2:
    print('老鐵666')
    pass
elif person == 2 and computer == 0:
    pass
    print('老鐵666')
    pass
# 平手
elif person == computer:
    print('下次一定')
    pass
# 輸了
else:
    print('不服再來')

運(yùn)行時(shí)候的三種情況

贏了:老鐵666

平手:下次一定

輸了:不服再來

說明?

"表達(dá)式"可以是一個(gè)單一的值或者變量,也可以是由運(yùn)算符組成的復(fù)雜語句,形式不限,只要它能得到一個(gè)值就行。不管“表達(dá)式”的結(jié)果是什么類型,if else 都能判斷它是否成立(真或者假)。

"代碼塊"由具由相同縮進(jìn)量的若干條語句組成。

if、elif、else 語句的最后都有冒號:不要忘記。?

原文鏈接:https://blog.csdn.net/weixin_52632755/article/details/122832936

欄目分類
最近更新