函式基本定義和使用‘未完待續

Hans_grant發表於2020-10-15

. 自定義排序

價值:容器中所有元素兩兩比較

list01 = [54, 5, 65, 76, 87, 9]
# 小 --> 大
# 核心思想:運用獲取小值思想,將最小值向前交換.
# 取資料
for r in range(len(list01) - 1):  # 0      1      2    3     4
    # 作比較
    for c in range(r + 1, len(list01)):  # 12345   2345   345   45    5
        # 發現更小
        if list01[r] > list01[c]:
            # 交換
            list01[r], list01[c] = list01[c], list01[r]
print(list01)

. 函式

建立函式:

def 函式名():

使用函式

​ 函式名()

# 程式碼的重複是萬惡之源
"""
# 做法(變化) + 用法
print("直拳")
print("擺拳")
print("勾拳")
print("肘擊")
# ......
# 做法(變化) +用法
print("直拳")
print("擺拳")
print("勾拳")
print("肘擊")
"""

# 做法(變化)1次
def attack():
    print("直拳")
    print("擺拳")
    print("勾拳")
    print("肘擊")
    print("正蹬")

# 用法多次
attack()
attack()
attack()

. 引數:使用功能 給 製作功能 傳遞得資訊

# 做

# 形式引數:表面虛構的資訊
def attack(count):
    for i in range(count):
        print("直拳")
        print("擺拳")
        print("勾拳")
        print("肘擊")
        print("正蹬")
# 實際引數:真實客觀的資料
# 除錯F8:逐過程(不進入函式內)
# 除錯F7:逐語句(進入函式內)
attack(1)
attack(3)
attack(10)

. 返回值:製作函式給使用函式傳遞資訊

# 需求:定義函式,美元轉換為人民幣.
def usd_to_cny(usd):
    """
        美元轉換為人民幣
    :param usd: 數值,美元
    :return: 數值,人民幣
    """
    cny = usd * 6.821
    return cny  # 返回 結果

# 接收返回值
res = usd_to_cny(234)
print(res)

# 練習1:建立計算治癒比例的函式
# confirmed = int(input("請輸入確診人數:"))
# cure = int(input("請輸入治癒人數:"))
# cure_rate = cure / confirmed * 100
# print("治癒比例為" + str(cure_rate) + "%")

. 返回值:

def func01():
    print("func01執行了")
    return 100


# 使用變數a接收結果100
a = func01()
print(a)  # 100

# 呼叫函式,可以不要返回值100
func01()


def func02():
    print("func02執行了")
    # return None  在python語言中,函式預設返回None


func02()

b = func02()
print(b)  # None


def func03():
    print("func03執行了")
    return 300  # return 可以退出函式(無視迴圈)
    print("func03又執行了")


c = func03()
print(c)  # ?


def func04():
    print("func03執行了")
    return  # return 後如果沒有資料,預設為None


d = func04()
print(d)  # None

. 多函式相互呼叫

# ---------------定義函式------------------
def single_attack():
    print("直拳")
    print("擺拳")
    print("勾拳")
    print("肘擊")
    print("正蹬")

def repeated_attack(count):
    for i in range(count):
        single_attack()

# ---------------呼叫函式------------------

repeated_attack(1)

相關文章