亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • # 對列表進行排序 ?

    numbers = [3, 1, 4, 1, 5, 9, 2] ? sorted_numbers = sorted(numbers) ? print(sorted_numbers) ?# 輸出: [1, 1, 2, 3, 4, 5, 9] ? ??


    # 對元組進行排序(注意:元組是不可變的,所以不能直接排序,但可以轉換為列表后排序) ??

    tuple_numbers = (3, 1, 4, 1, 5, 9, 2) ? sorted_tuple_numbers =sorted(tuple_numbers) ? print(sorted_tuple_numbers) ?# 輸出: [1, 1, 2, 3, 4, 5, 9] ? ??


    # 對字典的鍵進行排序(返回的是鍵的列表) ? dict_example = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2} ? sorted_keys = sorted(dict_example.keys()) ? print(sorted_keys) ?# 輸出: ['apple', 'banana', 'orange', 'pear'] ? ??


    # 也可以對字典的項(鍵值對)進行排序,使用items() ? sorted_items = sorted(dict_example.items()) ? print(sorted_items) ?# 輸出: [('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)]

    查看全部
  • 返回閉包不能引用循環變量,請改寫count()函數,讓它正確返回能計算1x1、2x2、3x3的函數。



    def count():
    ? ?fs = []
    ? ?for i in range(1, 4):
    ? ? ? ?def f(j):
    ? ? ? ? ? ?def g():
    ? ? ? ? ? ? ? ?return j*j
    ? ? ? ? ? ?return g
    ? ? ? ?r = f(i)
    ? ? ? ?fs.append(r)
    ? ?return fs
    f1, f2, f3 = count()
    print(f1(), f2(), f3())

    查看全部
    0 采集 收起 來源:Python的閉包

    2024-08-14

  • 請編寫一個函數calc_prod(list_),它接收一個list,返回一個函數,返回函數可以計算參數的乘積。


    from functools import reduce

    def calc_prod(list_):
    ? ?def lazy_prod():
    ? ? ? ?def f(x, y):
    ? ? ? ? ? ?return x * y
    ? ? ? ?return reduce(f, list_, 1)
    ? ?return lazy_prod

    f = calc_prod([1, 2, 3, 4])
    f()

    查看全部
    0 采集 收起 來源:Python返回函數

    2024-08-14

  • 對字符串排序時,有時候忽略大小寫排序更符合習慣。請利用sorted()高階函數,實現忽略大小寫排序的算法。
    輸入:['bob', 'about', 'Zoo', 'Credit']
    輸出:['about', 'bob', 'Credit', 'Zoo']



    def k(item):
    ? ?return item.lower()

    sorted(['bob', 'about', 'Zoo', 'Credit'], key=k)

    查看全部
  • 請利用filter()過濾出1~100中平方根是整數的數,即結果應該是:1, 4, 9, 16, 25, 36, 49, 64, 81, 100。



    import math

    def is_sqrt(x):
    ? ?r = int(math.sqrt(x))
    ? ?return r * r == x

    for item in filter(is_sqrt, range(1, 101)):
    ? ?print(item)

    查看全部
  • Python內置了求和函數sum(),但沒有求積的函數,請利用recude()來求積

    輸入:[1, 3, 5, 7, 9]
    輸出:13579的結果



    from functools import reduce


    def f(x, y):

    ? ? return x * y


    print(reduce(f, [1,3,5,7,9]))

    查看全部
  • 假設用戶輸入的英文名字不規范,沒有按照首字母大寫,后續字母小寫的規則,請利用map()函數,把一個list(包含若干不規范的英文名字)變成一個包含規范英文名字的list:

    輸入:['alice', 'BOB', 'CanDY']
    輸出:['Alice', 'Bob', 'Candy']



    def format_name(s):
    ? ?return s[0].upper() + s[1:].lower()

    for item in map(format_name, ['alice', 'BOB', 'CanDY']):
    ? ?print(item)

    查看全部
  • 計算平方根可以利用math包的sqrt()函數。


    import math

    def add(x, y, f):
    ? ?return f(x) + f(y)

    print(add(25, 9, math.sqrt))

    查看全部
  • 通過w的打開方式打開文件,會清空文件的內容,這在很多場景下是不合適的,比如寫系統日志的時候,需要累積隨時間推移的所有數據。


    Python提供文件追加內容的打開模式,可以往文件尾部添加內容,又不清空文件原有的內容。

    https://img1.sycdn.imooc.com/66b9c07200011d3903670158.jpg

    f = open('test.txt', 'a')
    f.write('Hello Everyone\n')
    f.close()


    使用a的打開方式打開文件,文件游標默認是在文件的尾部,因此,可以便捷的往文件尾部添加內容,除此以外,文件對象還提供seek()方法,可以移動文件的游標位置,它接受一個參數,表示文件的位置,0:文件首部,1:當前位置,2:文件尾部,通過seek()可以把文件游標移動到文件首部但不刪除文件的內容。


    f = open('test.txt', 'a+')
    content = f.readlines()
    print(content) # ==> []
    f.seek(0)
    content = f.readlines()
    print(content) # ==> ['Hello World\n', 'Hello Python\n', 'Hello Imooc\n']


    第一次print(content)的時候,由于文件游標在文件的尾部,所以readlines()讀取不到任何數據,打印了空的結果,第二次print(content)的時候,由于通過seek(0),文件游標移動到了文件的首部,因此readlines()就返回了文件所有的內容。

    查看全部
  • 打開文件之后,就可以讀取文件的內容,文件對象提供多種讀取文件內容的方法。
    打開test.txt文件:

    f = open('test.txt', 'r') # 打開test.txt文件
    f.close() # 關閉文件


    文件對象提供read()方法,可以讀取文件中的若干個字符,它提供一個參數size,可以指定讀取字符的數量。

    s = f.read(5)
    print(s) # ==> Hello

    當read()之后,訪問文件的游標就會移動到第六個字符前面,此時,繼續read,將得到Hello后面的結果。

    s = f.read(6)
    print(s) # ==> ' World'


    文件對象提供readline()方法,和read()方法類似,可以讀取文件中的若干個字符,它也提供一個參數size,可以指定讀取字符的數量,不過和read()方法不同的是,readline()方法遇到一行結束的時候,就會返回。

    f.close()
    f = open('test.txt', 'r') # 重新打開文件
    s = f.readline(20)
    print(s) ?# ==> 'Hello World.\n'

    readline最多返回一行的所有字符。


    文件對象提供readlines()方法,可以讀取多行字符,返回一個列表。它提供一個hint參數,表示指定讀取的行數,沒有指定則默認以列表的形式返回文件所有的字符串。

    f.close()
    f.open('test.txt', 'r')
    s = f.readlines()
    print(s) # ==> ['Hello World.\n', 'Hello Python.\n', 'Hello Imooc.\n']

    查看全部
  • 除了文本以外,還有大量的非文本文件,比如圖片、壓縮文件、視頻文件、音樂文件等等,這種文件統稱為二進制文件,在Python中打開二進制文件,需要不同的打開模式。

    https://img1.sycdn.imooc.com/66b9ae8e0001d23104020298.jpg

    查看全部
  • open()函數有若干個參數,比較重要的是以下三個參數:

    1.文件路徑:指定需要打開的文件的文件路徑

    2.打開模式:針對不同文件(二進制文件、文本文件)以及不同操作(讀操作、寫操作),會有不同的打開模式

    3.編碼:設定打開文件的默認編碼

    https://img1.sycdn.imooc.com/66b9abd20001651f03870621.jpg


    https://img1.sycdn.imooc.com/66b9ac6f0001414604090237.jpg

    查看全部
  • Python很多的操作都是通過內建函數來實現的,比如最熟悉的加減乘除,都是通過內建函數來實現的,分別是__add__、__sub__、__mul__、__truediv__。因此,只要我們的自定義類實現了相關的內建函數,我們的類對象,也可以做到加減乘除。



    Rational類雖然可以做加法,但無法做減法、乘法和除法,請繼續完善Rational類,實現四則運算。


    https://img1.sycdn.imooc.com/66b5ad8800019d9c05600479.jpg

    查看全部
  • 斐波那契數列是由 0, 1, 1, 2, 3, 5, 8...構成。

    請編寫一個Fib類,Fib(10)表示數列的前10個元素,print Fib(10) 可以打印出數列的前 10 個元素,len(Fib(10))可以正確返回數列的個數10。

    https://img1.sycdn.imooc.com/66b58c97000114ba03190363.jpg

    查看全部
  • 請給Student 類定義__str__和__repr__方法,使得能打印出'Student: name, gender, score'。

    https://img1.sycdn.imooc.com/66b589d90001ab5905270332.jpg

    查看全部

舉報

0/150
提交
取消
課程須知
本課程是Python入門的后續課程 1、掌握Python編程的基礎知識 2、掌握Python函數的編寫 3、對面向對象編程有所了解更佳
老師告訴你能學到什么?
1、什么是函數式編程 2、Python的函數式編程特點 3、Python的模塊 4、Python面向對象編程 5、Python強大的定制類

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!