亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的判斷語句,循環語句,函數怎么使用

發布時間:2022-08-25 10:44:05 來源:億速云 閱讀:398 作者:iii 欄目:開發技術

本篇內容主要講解“Python中的判斷語句,循環語句,函數怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中的判斷語句,循環語句,函數怎么使用”吧!

    1. 判斷語句

    1.1 布爾類型和比較運算符

    1.1.1 布爾類型

    布爾(bool)表達現實生活中的邏輯,即真和假:

    • True 表示真

    • False 表示假

    True 和 False 的本質都是數字。True 記作 1,False 記作 0。

    定義變量存儲布爾類型數據:變量名 = 布爾類型字面量

    布爾類型不僅可以自行定義,也可以通過比較運算得到布爾類型的結果。

    result = 10 > 5
    print(f"result的值是{result},類型是{type(result)}")

    輸出結果:

    result的值是True,類型是<class 'bool'>

    1.1.2 比較運算符

    Python中的判斷語句,循環語句,函數怎么使用

    1.2 if 語句

    1.2.1 if 語句基本格式

    if 語句基本格式:

    if 要判斷的條件: #不要忘記加冒號
        條件成立時,要做的事情 #前面有4個空格縮進

    【例】結合前面學習的input輸入語句,完成如下案例:

    • (1)通過input語句,獲取鍵盤輸入,為變量 age 賦值。(注意轉換成數字類型)

    • (2) 通過 if 判斷是否是成年人,滿足條件則輸出提示信息,

    如下:

    歡迎來到黑馬兒童游樂場,兒童免費,成人收費。
    請輸入你的年齡:30
    您已成年
    游玩需要補票10元
    祝您游玩愉快。

    print("歡迎來到黑馬兒童游樂場,兒童免費,成人收費。")
    age = int(input("請輸入你的年齡:"))#類型轉換
    
    if age >= 18:
        print("您已成年") #有4格縮進
        print("游玩需要補票10元")
    
    print("祝您游玩愉快")

    輸出結果1:

    歡迎來到黑馬兒童游樂場,兒童免費,成人收費。
    請輸入你的年齡:20
    您已成年
    游玩需要補票10元
    祝您游玩愉快

    輸出結果2:

    歡迎來到黑馬兒童游樂場,兒童免費,成人收費。
    請輸入你的年齡:10
    祝您游玩愉快

    1.2.2 if else 語句
    print("歡迎來到黑馬兒童游樂場,兒童免費,成人收費。")
    age = int(input("請輸入你的年齡:"))#類型轉換
    
    if age >= 18:
        print("您已成年,游玩需要補票10元。")
    else:#同樣有冒號,且其中的語句有4個格縮進
        print("您未成年,可以免費游玩")
    1.2.3 if elif else 語句
    print("歡迎來到黑馬動物園")
    if int(input("請輸入你的身高(cm):")) < 120:
        print("您的身高小于120cm,可以免費游玩")
    elif int(input("請輸入vip等級:")) > 3:
        print("您的vip等級大于3,可以免費游玩")
    elif int(input("請告訴我今天幾號:")) == 1:
        print("今天是1號免費日,可以免費游玩")
    else:
        print("不好意思,您不滿足免費游玩的條件,需購票")
    1.2.4 判斷語句的嵌套

    基礎語法格式如下:

    if 條件1:
        滿足條件1時做的事情1
        滿足條件1時做的事情2
        if 條件2:
            滿足條件2時做的事情1
            滿足條件2時做的事情2

    如上面代碼,第二個 if 在第一個 if 內,只有滿足第一個 if 的條件時,才會執行第二個 if。
    嵌套的關鍵點在于:空格縮進。
    Python 就是通過空格縮進來決定語句之間的層次關系

    print("歡迎來到黑馬動物園")
    if int(input("請輸入你的身高(cm):")) > 120:
        print("您的身高大于120cm,不能免費游玩")
        print("不過,若您的vip等級超過3,可以免費游玩")
        if int(input("請輸入vip等級:")) > 3:
            print("您的vip等級大于3,可以免費游玩")
        else:
            print("不好意思,您不滿足免費游玩的條件,需購票")
    else:
        print("您的身高小于120cm,可以免費游玩")

    2. 循環語句

    2.1 while 循環

    2.1.1 while 循環基礎語法

    while 條件:
        條件滿足時,做的事情1
        條件滿足時,做的事情2
        條件滿足時,做的事情3
        ...

    【例】設置一個范圍 1~100 的隨機整數變量,通過 while 循環,配合 input 語句,判斷輸入的數字是否等于隨機數。

    要求:

    • (1)無限次機會,直到猜中為止;

    • (2)每一次猜不中,會提示大了或小了;

    • (3)猜完數字后,提示猜了幾次。

    import random
    count = 0
    num = random.randint(1,100)#生成1~100的隨機整數,包括1和100
    
    while True:
        guess = int(input("請輸入猜測的數字:"))
        count += 1	#python中沒有count++這種累加操作
        if guess == num:
            print("猜中了")
            break
        else:
            if guess < num:
                print("小了")
            else:
                print("大了")
    
    print("共猜了%d次" % count)
    2.1.2 while 循環嵌套使用

    while 條件1:
        條件1滿足時,做的事情1
        條件1滿足時,做的事情2
        條件1滿足時,做的事情3
        ...
        while 條件2:
            條件2滿足時,做的事情1
            條件2滿足時,做的事情2
            條件2滿足時,做的事情3
            ...

    【例1】向小美表白 100 天,每天都送 10 朵玫瑰花。

    i = 1
    while i <= 100:
        print(f"第{i}天表白")
    
        j = 1
        while j <= 10:
            print(f"第{i}天,送的第{j}朵玫瑰花")
            j += 1
    
        print("小美,我喜歡你")
        i += 1

    補充知識

    print 語句默認情況下,輸出內容會自動換行,如下圖:

    Python中的判斷語句,循環語句,函數怎么使用

    在即將完成的案例中,需要使用 print 語句輸出時不換行的功能,加上end=''即可:

    Python中的判斷語句,循環語句,函數怎么使用

    ps:end=''使用了方法傳參功能,后面會詳細講解。

    【例2】打印九九乘法表

    i = 1
    while i < 10:
    
        j = 1
        while j <= i:
            print(f"{j} * {i} = {j * i}\t", end = '')
            j += 1
    
        i += 1
        print()

    2.2 for 循環

    2.2.1 for 循環基礎語法

    for 臨時變量 in 待處理數據集(序列):
        循環滿足條件時執行的代碼

    遍歷字符串:

    info = "hello"
    for ch in info:
        print(ch)

    輸出結果:

    h
    e
    l
    l
    o

    由此看出,與 while 循環不同,for 循環無法定義循環條件,只能從被處理的數據集里,依次取出內容進行處理。
    所以,理論上講,Python 的 for 循環無法構建無限循環(被處理的數據集不可能無限大)

    【例】統計 “itheima is a brand of itcast” 中有多少個 a。

    name = "itheima is a brand of itcast"
    count = 0
    for ch in name:
        if ch == 'a':
            count += 1
    print(f"共有{count}個a")	# 共有4個a
    2.2.2 range 語句

    for 循環語法中待處理數據集,嚴格來說,稱為序列類型
    序列類型:其內容可以一個個依次取出的一種類型,包括:字符串、列表、元組 等。
    目前只介紹了字符串類型,其余類型后面會詳細講解。

    由于現階段只介紹了字符串,所以暫且只能通過 range 語句,可以獲得一個簡單的數字序列(range 語句還有其他用途,后面詳講)。

    range(num):獲取一個從 0 開始,到 num 結束的數字序列(不含 num 本身)

    如:range(5) 取得的數據是:[0,1,2,3,4]

    range(num1, num2):獲得一個從 num1 開始,到 num2 結束的數字序列(不含 num2 本身)

    如:range(5,10)取得的數據是:[5,6,7,8,9]

    range (num1, num2, step):獲得一個從 num1 開始,到 num2 結束的數字序列(不含 num2 本身)
    數字之間的步長,以 step 為準(step 默認為1)

    如:range(5,10,2) 取得的數據是:[5,7,9]

    range 語句通常配合 for 使用:

    for i in range(5):
        print(i)

    輸出結果:

    0
    1
    2
    3
    4

    【例】

    有了 range 語句,前面送 10 朵玫瑰花的操作也可以用 for 循環實現:

    count = 0
    for i in range(1, 100):
        if i % 2 == 0:
            count += 1
    
    print(f"共有{count}個偶數")	# 共有49個偶數
    2.2.3 變量作用域

    如代碼,思考:最后的 print 語句,能否訪問到變量 i?

    for i in range(5):
    	print(i)
    print(i)	# 能否訪問到變量i?

    規范上:不允許
    實際上:可以,最后的 print 語句輸出 4

    回看 for 循環的語法:

    for 臨時變量 in 待處理數據集(序列):
        循環滿足條件時執行的代碼

    我們會發現,將從數據集(序列)中取出的數據賦值給臨時變量
    該臨時變量,在編程規范上,作用范圍(作用域),限定在 for 循環內部。
    如果在 for 循環外部訪問該臨時變量,實際上可以訪問到;但在編程規范上,不允許、不建議這么做。

    上面代碼中,若想要在 for 循環外面使用 i,可以將 i 定義在 for 循環外面:

    i = 0
    for i in range(5):
        print(i)
    print(i)
    2.2.4 for 循環嵌套使用

    for 臨時變量 in 待處理數據集(序列):
        循環滿足條件應做的事情1
        循環滿足條件應做的事情2
        循環滿足條件應做的事情N
        for 臨時變量 in 待處理數據集(序列):
            循環滿足條件應做的事情1
            循環滿足條件應做的事情2
            循環滿足條件應做的事情N

    【例】用 for 循環實現送小美 100 天玫瑰花,每天送 10 朵的功能。

    for i in range(1, 101):
        print(f"今天是向小美表白的第{i}天")
    
        for j in range(1, 11):
            print(f"送小美第{j}朵玫瑰花")
    
        print("小美,我喜歡你")

    目前學習了 2 個循環,while 循環和 for 循環。這兩種循環可以相互嵌套

    【例】用 for 循環打印九九乘法表。

    for i in range(1, 10):
        for j in range(1, 10):
            if j <= i:
                print(f"{j} * {i} = {j * i}\t", end = '')
        print()

    2.3 break 和 continue

    • break:所在的循環完全結束。

    • continue:中斷本次循環,直接進入下一次循環。

    注意點:

    • (1)兩者都可以用于 for 循環和 while 循環。

    • (2)在嵌套循環中,兩者都只能作用于所在的循環,無法對上層循環起作用。

    【例】某公司,賬戶余額有 1 W元,給 20 名員工發工資。規則:

    • (1)員工編號從 1 到 20,從編號1開始,依次領取工資,每人可領取 1000 元

    • (2)領工資時,財務判斷員工的績效分(1~10)(隨機生成),如果低于 5,不發工資,換下一位。

    • (3)如果工資發完了,結束發工資。

    輸出格式如圖:

    Python中的判斷語句,循環語句,函數怎么使用

    import random
    money = 10000
    for i in range(1, 21):
        if money < 1000:
            print("工資發完了,下個月領取吧")
            break
        score = random.randint(1, 10) #生成1~10的隨機整數,包括1和10
        if score < 5:
            print(f"員工{i},績效分{score},低于5,不發工資,下一位")
        else:
            money -= 1000;
            print(f"向員工{i}發放工資1000元,賬戶余額還剩余{money}元")

    輸出結果:

    向員工1發放工資1000元,賬戶余額還剩余9000元
    向員工2發放工資1000元,賬戶余額還剩余8000元
    向員工3發放工資1000元,賬戶余額還剩余7000元
    向員工4發放工資1000元,賬戶余額還剩余6000元
    向員工5發放工資1000元,賬戶余額還剩余5000元
    員工6,績效分3,低于5,不發工資,下一位
    向員工7發放工資1000元,賬戶余額還剩余4000元
    向員工8發放工資1000元,賬戶余額還剩余3000元
    向員工9發放工資1000元,賬戶余額還剩余2000元
    員工10,績效分3,低于5,不發工資,下一位
    向員工11發放工資1000元,賬戶余額還剩余1000元
    員工12,績效分1,低于5,不發工資,下一位
    向員工13發放工資1000元,賬戶余額還剩余0元
    工資發完了,下個月領取吧

    3. 函數

    3.1 函數的定義

    函數的定義:

    def 函數名(傳入參數):
        函數體
        return 返回值

    函數的調用:

    函數名(參數)

    # 函數定義
    def say_hello():
        print("hello world")
    # 函數調用
    say_hello()	#輸出 hello world

    注意事項:

    • (1)參數如果不需要,可以省略(后續章節講解)。

    • (2)返回值如果不需要,可以省略(后續章節講解)。

    • (3)函數必須先定義后使用

    3.2 函數的參數

    # 函數定義
    def add(x, y):
        print(f"{x} + {y} = {x + y}")
    # 函數調用
    add(3, 4)

    函數定義中的參數,稱之為形式參數;
    函數調用中的參數,稱之為實際參數;
    函數的參數數量不限,使用逗號分隔開;
    傳入參數的時候,要和形式參數一一對應(順序、個數),逗號隔開。

    3.3 函數的返回值

    帶返回值的函數的定義和調用:

    # 函數定義
    def add(x, y):
        return x + y
    # 函數調用
    res = add(3, 4)
    print(res)	#輸出7

    question:如果函數沒有使用 return 語句返回數據,那么函數有返回值嗎?
    answer:有返回值。
    why:Python 中有一個特殊的字面量:None,其類型是:<class&rsquo;NoneType&rsquo;>,
    無返回值的函數,實際上就是返回了:None 這個字面量,
    函數返回 None,就表示沒有返回什么有意義的內容,也就是返回了空的意思。

    def say_he11o():
        print("Hello...")
    
    result = say_he11o()
    print(result)
    print(type(result))

    輸出結果:

    Hello...
    None
    <class 'NoneType'>

    None可以主動使用 return 返回,效果等同于不寫 return 語句:

    def say_he11o():
        print("Hello...")
        return None
    
    result = say_he11o()
    print(result)
    print(type(result))

    輸出結果:

    Hello...
    None
    <class 'NoneType'>

    None 作為一個特殊的字面量,用于表示:空、無意義,其有非常多的應用場景。

    • 用于函數無返回值。

    • 用于 if 判斷。在 if 判斷中,None 等同于 False。在函數中可以主動返回 None,配合 if 判斷做相關處理。

    def check_age(age):
        if age >= 18:
            return "success"
        else:
            return None
    
    result = check_age(16)
    if not result:
        print("未滿18歲,不能進網吧")

    用于聲明無內容的變量。定義變量,但暫時不需要變量有具體值,可以用None來代替

    #暫不賦予變量具體值
    name = None

    3.4 函數說明文檔

    雖然函數的說明文檔只是注釋,隨便寫也沒啥,但最好要遵循一定的規范。
    在函數內寫引號一回車,就自動出現參數和返回值的說明頭部(這就是規范)。這樣就可以在此基礎上繼續補充。

    Python中的判斷語句,循環語句,函數怎么使用

    寫好函數說明文檔后,將鼠標懸停在函數的上方,會出現函數的說明信息。

    Python中的判斷語句,循環語句,函數怎么使用

    3.5 函數的嵌套調用

    函數的嵌套調用:在一個函數中,調用另外一個函數。

    def func_b():
        print("---2---")
    
    def func_a():
        print("---1---")
        func_b()
        print("---3---")
    
    func_a()  # 調用函數func_a

    輸出結果:

    ---1---
    ---2---
    ---3---

    3.6 變量的作用域

    變量主要分為兩類:局部變量和全局變量。
    局部變量:定義在函數體內部,只在函數內部生效。

    def testA():
        num = 100
        print(num)
    testA() # 100
    print(num)#報錯:name'num'is not defined

    變量 a 定義在 testA 函數內部,在函數外部訪問則立即報錯。
    局部變量的作用:在函數體內部,臨時保存數據,當函數調用完成后銷毀。

    全局變量:在函數內、外都能生效的變量。
    如果有一個數據,在函數 A 和函數 B 中都要使用,則可以將這個數據存儲在一個全局變量中。

    #定義全局變量num
    num = 100
    def testA():
        print(num)
    def testB():
        print(num)
        
    testA() #100
    testB() #100

    global 關鍵字

    現在有個需求:在函數內部修改函數外的全局變量。

    num = 200
    def test_a():
        print(f"test_a: {num}")
    
    def test_b():
        num = 500
        print(f"test_b:{num}")
        
    test_a()
    test_b()
    print(num)

    上述代碼輸出結果:

    test_a: 200
    test_b:500
    200

    代碼并沒有修改全局變量的值。原因是 test_b() 中的 num 是一個局部變量,與全局變量 num 沒有絲毫關系。
    想要在函數內修改全局變量,可以使用 global 關鍵字。

    num = 200
    def test_a():
        print(f"test_a: {num}")
    
    def test_b():
        global num #增加了global
        num = 500
        print(f"test_b:{num}")
    
    test_a()
    test_b()
    print(num)

    輸出結果:

    test_a: 200
    test_b:500
    500

    上面代碼中,global 關鍵字將 num 聲明為全局變量,這樣 test_b() 中的 num 與函數外的 num 就是同一個變量。

    3.7 函數綜合案例

    銀行系統查詢余額、存款、取款、退出功能。
    初始余額 5000000 元,進入系統時先輸入姓名。

    money = 5000000
    name = input("請輸入姓名:") 
    # 菜單
    def menu(): 
        print(f"{name},您好,歡迎來到黑馬銀行ATM,請選擇操作:")
        print("查詢余額\t【輸入1】")
        print("存款\t\t【輸入2】")
        print("取款\t\t【輸入3]")
        print("退出\t\t【輸入4】")
        return input("請輸入您的選擇:")
    # 查詢余額
    def query(show_header): 
        # 控制是否輸出表頭
        if show_header:
            print("-------------查詢余額--------------")
        print(f"{name},您好,您的余額剩余:{money}元")
    # 取款
    def save(deposit): 
        print("-------------存款--------------")
        global money
        money += deposit
        print(f"{name},您好,您存款{deposit}元成功")
        query(False)
    # 存款
    def get(withdraw): 
        print("-------------取款--------------")
        global money
        money -= withdraw
        print(f"{name},您好,您取款{withdraw}元成功")
        query(False)
     
    while True:
        choice = menu() # 用戶選擇
        if choice == "1":
            query(True)
        elif choice == "2":
            save(int(input("請輸入要存入的金額:")))
        elif choice == "3":
            get(int(input("請輸入要去除的金額:")))
        else:
            break
    print("程序退出...")

    到此,相信大家對“Python中的判斷語句,循環語句,函數怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    郧西县| 安化县| 旬邑县| 怀来县| 东阳市| 安泽县| 玛纳斯县| 龙州县| 兰州市| 密云县| 监利县| 海兴县| 祁门县| 元谋县| 鹿泉市| 石城县| 南木林县| 黄浦区| 古丈县| 德昌县| 方正县| 阿荣旗| 宁河县| 张家口市| 如皋市| 木兰县| 饶河县| 杨浦区| 松原市| 石柱| 大荔县| 焦作市| 辽源市| 斗六市| 增城市| 石城县| 古浪县| 鹰潭市| 石泉县| 潍坊市| 梁河县|