成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Python入門(mén)-控制流

silvertheo / 3463人閱讀

摘要:返回索引頁(yè)控制流分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)和總結(jié)練習(xí)參考控制流上一張我們了解了的基本語(yǔ)法和數(shù)據(jù)結(jié)構(gòu)。和后必須加判斷表達(dá)式,一般表達(dá)式返回值為布爾型,當(dāng)非布爾型時(shí),表示該值是否存在。語(yǔ)句以英文冒號(hào)結(jié)尾邏輯代碼塊以個(gè)空格或分隔。

< 返回索引頁(yè)

控制流

分支結(jié)構(gòu)

if/elif/else

循環(huán)結(jié)構(gòu)

for

while

break 和 continue

pass

總結(jié)

練習(xí)

參考

控制流

上一張我們了解了Python的基本語(yǔ)法和數(shù)據(jù)結(jié)構(gòu)。到目前位置,我們編寫(xiě)的代碼都是一行一行的由上往下一次執(zhí)行的。我們叫這種形式的代碼為順序結(jié)構(gòu)。但是在真正的編碼環(huán)境中,這種順序結(jié)構(gòu)實(shí)現(xiàn)的場(chǎng)景有限。下面我們來(lái)看下Python編程中的一些其他復(fù)雜控制結(jié)構(gòu)。

分支結(jié)構(gòu)

試想,一個(gè)簡(jiǎn)單的計(jì)算器的計(jì)算過(guò)程,當(dāng)我們按下加號(hào)鍵的時(shí)候,它會(huì)執(zhí)行相加操作;當(dāng)我們按下減號(hào)的時(shí)候,它則會(huì)執(zhí)行減法操作。這并產(chǎn)生了2個(gè)分支,它根據(jù)我們的輸入這個(gè)未知的條件來(lái)決定該走那個(gè)分支。像這種根據(jù)某條件來(lái)判斷走那個(gè)分支的結(jié)構(gòu)叫做分支結(jié)構(gòu)

if/elif/else

Python 中使用關(guān)鍵字if、 elseelif 來(lái)實(shí)現(xiàn)分支結(jié)構(gòu)。下面我們來(lái)看下它們的語(yǔ)法:

# -*- coding:utf-8 -*- 
# calculator.py

a, b = 2, 3 
sign = input("請(qǐng)輸入運(yùn)算符:")
if sign == "+":  # 判斷條件
    print(a+b)   # 邏輯代碼塊
elif sign == "-":
    print(a-b)
else:
    print("暫不支持該符號(hào)!")

語(yǔ)法說(shuō)明:

Python 中分支結(jié)構(gòu)中判斷條件以英文冒號(hào) : 結(jié)尾;

分支結(jié)構(gòu)中的邏輯代碼塊,以相對(duì)于條件語(yǔ)句向右4個(gè)空格或1個(gè)tab為分隔符,建議使用4個(gè)空格,tab在不同系統(tǒng)表現(xiàn)不一致可能引起混了,影響代碼的跨平臺(tái)性。

ifelif 后必須加判斷表達(dá)式,一般表達(dá)式返回值為布爾型,當(dāng)非布爾型時(shí),表示該值是否存在。

我們?cè)谳斎脒\(yùn)算符時(shí),需要使用引號(hào)引起來(lái),因?yàn)槎鄮У囊粋€(gè)運(yùn)算符是會(huì)報(bào)錯(cuò)的。

if 可多帶帶使用,也可多帶帶和elifelse 配合使用。

# if 多帶帶使用
if "1":
    print("這是真的")
# if 和 else 配合使用
if False:
    print("這是假的")
else:
    print("這是真的")
# if 和 elif 配合使用
if False:
    print("這是假的")
elif True:
    print("這是真的")

條件語(yǔ)句可嵌套使用。

# -*- coding:utf-8 -*- 
# nesting_if.py 
a = int(input("請(qǐng)輸入:"))

if a > 4:
    if a < 10:
        print("大于4,小于10")
    else:
        print("大于10")
else:
    print("小于4")

條件語(yǔ)句有一種簡(jiǎn)便的寫(xiě)法,被稱為三元操作符。

a = "上午好" if now_time < 12 else "下午好" 
循環(huán)結(jié)構(gòu)

上一章我們還學(xué)習(xí)了列表,那當(dāng)我們要想依次去除列表中的元素時(shí),便需要來(lái)循環(huán)依次取出,這種循環(huán)操作的結(jié)構(gòu)叫做循環(huán)結(jié)構(gòu)

for

Python 中使用關(guān)鍵字 for 來(lái)實(shí)現(xiàn)已知長(zhǎng)度的循環(huán)。用法如下:

l = [1,2,3,4,5]
sum = 0 
for i in l :
    sum += i
print(sum)

語(yǔ)法說(shuō)明:

for 使用關(guān)鍵字in 來(lái)遍歷序列,獲取其元素,有變量i 來(lái)表示,以便在之下的邏輯代碼塊中使用。

for 語(yǔ)句以英文冒號(hào)結(jié)尾

邏輯代碼塊以4個(gè)空格或tab分隔。

for 循環(huán)也是可以嵌套使用的。

for 還可遍歷成組元素的序列,如下:

l = [(1,2),(1,3),(1,4)]
for i, j in l:
    print(i)
    print(j)

在Python中提供了一個(gè)內(nèi)置函數(shù) range(start,length,step)來(lái)專門(mén)生成用來(lái)遍歷的整數(shù)序列,其返回值為迭代器(可理解為列表對(duì)象,后邊會(huì)講解)。start為開(kāi)始整數(shù),可省略,省略時(shí)默認(rèn)為0;length為結(jié)束整數(shù),但不包含自己;step 為步長(zhǎng),及2個(gè)整數(shù)之間的間隔,可省略,省略時(shí)默認(rèn)為1。使用range函數(shù)來(lái)改寫(xiě)上邊的代碼為:

sum = 0
for i in range(1,6):
    sum += i 
print(sum)
while

Python 中還提供了另一種循環(huán)語(yǔ)句關(guān)鍵字 while 用來(lái)實(shí)現(xiàn)滿足條件下的一個(gè)循環(huán)操作。

# loop_while.py
i = 0 
sum = 0
while i <= 5:
    sum += i
    i += 1 
print(sum)
break 和 continue

我們?cè)囅?,?dāng)while的條件永遠(yuǎn)為真時(shí),會(huì)發(fā)生什么?while下的邏輯塊會(huì)被一直執(zhí)行下去,如果該邏輯段耗費(fèi)計(jì)算機(jī)資源的話。計(jì)算機(jī)資源會(huì)被他很快的消耗殆盡。這種情況,我們把它叫做死循環(huán)無(wú)限循環(huán)。這種循環(huán),大多數(shù)情況下都是不對(duì)的,除非你明確的知道,你就是要使用一個(gè)這樣的無(wú)限循環(huán)。Python 中提供了2個(gè)關(guān)鍵字breakcontinue,讓我們的操作可以跳出無(wú)限循環(huán)。

break 用法

# while 中使用
sum = 0
while True:
    if sum > 10:
        print("sum已大于10")
        break
    sum += 1 
    print(sum)

# for 中使用
sum = 0 
for i in range(100):
    if sum > 10:
        print("sum已大于10")
        break;
    sum += 1 
    print(sum)

語(yǔ)法說(shuō)明:

break 語(yǔ)句執(zhí)行后,直接退出循環(huán),不再循環(huán)

continue用法

sum = 0 
for i in range(100):
    if sum > 10:
        print("sum已大于10")
        continue;
    sum += 1 
    print(sum)

語(yǔ)法說(shuō)明:

continue 語(yǔ)句執(zhí)行后,當(dāng)前循環(huán)語(yǔ)句之后的語(yǔ)句不再執(zhí)行,直接跳入下一次的循環(huán)繼續(xù)執(zhí)行。

pass

有時(shí)候,我們的代碼塊想直接跳過(guò),可使用關(guān)鍵字 pass。它常被用來(lái)占位使用。

for i in range(5):
    pass # 占位
總結(jié)

本章我們學(xué)習(xí)了Python的代碼邏輯控制流,我們來(lái)總結(jié)下:

Python代碼結(jié)構(gòu)有順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu);

分支結(jié)構(gòu)可使用if/elif/else 實(shí)現(xiàn);

循環(huán)結(jié)構(gòu)可使用for/while 實(shí)現(xiàn);

可使用breakcontinue來(lái)截?cái)嘌h(huán)結(jié)構(gòu);

練習(xí)

1、 輸出乘法口訣表(九九表)

for i in range(1, 10):
    for j in range(1, i + 1):
        print("%d*%d=%d" % (i, j, i * j), end="	")
    print()

2、實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)算器, 支持 +、-*、/的運(yùn)算。

first = int(input("請(qǐng)輸入一個(gè)數(shù)值:"))
sign = input("請(qǐng)輸入運(yùn)算符:")
second = int(input("請(qǐng)輸入一個(gè)數(shù)值:"))
if sign == "+":
    print("%s+%s=%s" % (first, second, first+second))
elif sign == "-":
    print("%s-%s=%s" % (first, second, first-second))
elif sign == "*":
    print("%s*%s=%s" % (first, second, first*second))
elif sign == "/":
    print("%s/%s=%s" % (first, second, first/second))
else:
    print("不支持該運(yùn)算符")

3、 打印如下三角形圖案。

"""
*
**
***
****
*****

    *
   **
  ***
 ****
*****

    *
   ***
  *****
 *******
*********

"""
row = int(input("請(qǐng)輸入行數(shù): "))
for i in range(row):
    for _ in range(i + 1):
        print("*", end="")
    print()


for i in range(row):
    for j in range(row):
        if j < row - i - 1:
            print(" ", end="")
        else:
            print("*", end="")
    print()

for i in range(row):
    for _ in range(row - i - 1):
        print(" ", end="")
    for _ in range(2 * i + 1):
        print("*", end="")
    print()

4、實(shí)現(xiàn)猜數(shù)字游戲, 要求:

計(jì)算機(jī)出一個(gè)1~100之間的隨機(jī)數(shù)由人來(lái)猜

計(jì)算機(jī)根據(jù)人猜的數(shù)字分別給出提示大一點(diǎn)/小一點(diǎn)/猜對(duì)了

import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input("請(qǐng)輸入: "))
    if number < answer:
        print("大一點(diǎn)")
    elif number > answer:
        print("小一點(diǎn)")
    else:
        print("恭喜你猜對(duì)了!")
        break
print("你總共猜了%d次" % counter)
if counter > 7:
    print("你的智商余額明顯不足")
參考

https://docs.python.org/3.6/tutorial/index.html

https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/Day02/%E8%AF%AD%E8%A8%80%E5%85%83%E7%B4%A0.md

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://hztianpu.com/yun/41959.html

相關(guān)文章

  • AWS-Lambda 使用入門(mén)

    摘要:例如,控制臺(tái)使用調(diào)用類型,因此當(dāng)您使用控制臺(tái)調(diào)用函數(shù)時(shí),控制臺(tái)將顯示返回的值。如果別名用于調(diào)用函數(shù),將為別名指向的版本。 場(chǎng)景:現(xiàn)在需要開(kāi)發(fā)一個(gè)前后端分離的應(yīng)用,后端采用 RESTful API 最為方便,但是如果這個(gè)后端服務(wù)會(huì)在一天中的某些時(shí)候有高并發(fā)的情況,使用什么樣的架構(gòu)最為簡(jiǎn)單呢? 剛思考這個(gè)問(wèn)題的時(shí)候我想到的解決方案可能有以下幾種: 使用CDN內(nèi)容分發(fā)網(wǎng)絡(luò),減少主服務(wù)器的...

    RobinQu 評(píng)論0 收藏0
  • Python入門(mén)-前言

    摘要:過(guò)去都講究木桶原理,那塊木板短,就去補(bǔ)那塊?,F(xiàn)在變了,有了新的木桶原理,讓那塊長(zhǎng)木板更長(zhǎng),而短板呢,則交給我們的團(tuán)隊(duì)其他小伙伴。 大家好,我是 DeanWu,我是一個(gè)不太會(huì)交際的人,比起交際,我更喜歡一個(gè)人默默的去鉆研技術(shù)。 最近幾年,隨著年齡的增大,我決定改變,人類始終是群居生物,個(gè)體的力量始終是渺小的,逐漸認(rèn)識(shí)到了團(tuán)隊(duì)的重要性。過(guò)去都講究木桶原理,那塊木板短,就去補(bǔ)那塊?,F(xiàn)在變了,...

    cnsworder 評(píng)論0 收藏0
  • Spring Boot入門(mén)(12)實(shí)現(xiàn)頁(yè)面訪問(wèn)量統(tǒng)計(jì)功能

    摘要:在日常的網(wǎng)站使用中,經(jīng)常會(huì)碰到頁(yè)面的訪問(wèn)量或者訪問(wèn)者人數(shù)統(tǒng)計(jì)。運(yùn)行項(xiàng)目,在瀏覽器中輸入顯示的頁(yè)面如下剛載入頁(yè)面時(shí),顯示頁(yè)面被訪問(wèn)次。當(dāng)我們將這個(gè)這也載入次后,顯示如下這樣我們就用實(shí)現(xiàn)了頁(yè)面訪問(wèn)量的統(tǒng)計(jì)功能。 ??在日常的網(wǎng)站使用中,經(jīng)常會(huì)碰到頁(yè)面的訪問(wèn)量(或者訪問(wèn)者人數(shù))統(tǒng)計(jì)。那么,在Spring Boot中該如何實(shí)現(xiàn)這個(gè)功能呢???我們的想法是比較簡(jiǎn)單的,那就是將訪問(wèn)量?jī)?chǔ)存在某個(gè)地方...

    LeanCloud 評(píng)論0 收藏0
  • 圖解——PyQt4從入門(mén)到運(yùn)用

    摘要:將程序包裝在界面里,可以將輸入通過(guò)多種途徑如文本框彈出路徑選擇等輸入到程序里。將輸出通過(guò)文本框顯示出來(lái)將執(zhí)行信息如如報(bào)錯(cuò)信息運(yùn)行進(jìn)度通過(guò)文本框或進(jìn)度條顯示出來(lái)文章安排先介紹安裝和配合的使用。 作為一個(gè)程序的開(kāi)發(fā)者,我們僅僅需要在相應(yīng)路徑通過(guò)命令行就可執(zhí)行那個(gè)程序。但是,不懂行的人不理解這個(gè)黑框框的東西,陌生領(lǐng)域任何人都沒(méi)有安全感,所以他們是拒絕接受一個(gè)項(xiàng)目?jī)H僅只是通過(guò)一個(gè)黑框框來(lái)執(zhí)行的...

    史占廣 評(píng)論0 收藏0
  • Python gRPC 入門(mén)

    摘要:消息格式有三個(gè)字段,在消息中承載的數(shù)據(jù)分別對(duì)應(yīng)于每一個(gè)字段。所以應(yīng)該為那些頻繁出現(xiàn)的消息元素保留之內(nèi)的標(biāo)識(shí)號(hào)。示例編譯這里我們用編譯一下,看得到什么文件名使用以下命令編譯生成了兩個(gè)文件此文件包含生成的和類。 gRPC 一開(kāi)始由 google 開(kāi)發(fā),是一款語(yǔ)言中立、平臺(tái)中立、開(kāi)源的遠(yuǎn)程過(guò)程調(diào)用(RPC)系統(tǒng)。 本文通過(guò)一個(gè)簡(jiǎn)單的 Hello World 例子來(lái)向您介紹 gRPC 。 gR...

    ideaa 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<