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

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 任務:

    # 請分別使用循環和遞歸的形式定義函數,求出1~100的和。

    #?循環的方式:
    def?sum_xunhuan(x):
    ????sums?=?0
    ????for?i?in?range(1,?x+1):
    ????????sums?+=?i;
    ????return?sums;
    
    #?遞歸的方式:
    def?sum_digui(x):
    ????if?x?==?0:
    ????????return?x
    ????return?x?+?sum_digui(x-1)
    
    y?=?sum_xunhuan(100)??
    z?=?sum_digui(100)
    print(y,?z)
    查看全部
    0 采集 收起 來源:Python遞歸函數

    2021-10-04

  • 浮點,字符串,整數,二進制
    查看全部
  • 函數內部調用其他函數,是非常常見的,通過合理拆分邏輯,可以降低程序的復雜度。

    如果在一個函數內部調用其自身,這個函數就是遞歸函數。

    計算階乘 n! = 1 * 2 * 3 * ... * n,用函數 fact(n)表示:

    def?fact(n):
    ????if?n==1:
    ????????return?1
    ????return?n?*?fact(n?-?1)

    fact(n)可以表示為 n * fact(n-1),只有n=1時需要特殊處理。

    可以拆解fact(5)計算的詳細邏輯:

    ===>?fact(5)
    ===>?5?*?fact(4)
    ===>?5?*?(4?*?fact(3))
    ===>?5?*?(4?*?(3?*?fact(2)))
    ===>?5?*?(4?*?(3?*?(2?*?fact(1))))
    ===>?5?*?(4?*?(3?*?(2?*?1)))
    ===>?5?*?(4?*?(3?*?2))
    ===>?5?*?(4?*?6)
    ===>?5?*?24
    ===>?120

    遞歸函數的優點是定義簡單,邏輯清晰。使用遞歸函數需要注意防止棧溢出。

    函數調用是通過棧(stack)這種數據結構實現的,每當進入一個函數調用,棧就會加一層棧幀,每當函數返回,棧就會減一層棧幀。由于棧的大小不是無限的,所以,遞歸調用的次數過多,會導致棧溢出。RecursionError: maximum recursion depth exceeded in comparison

    查看全部
    0 采集 收起 來源:Python遞歸函數

    2021-10-04

  • 有時候函數是沒有返回結果的,這個時候從函數獲取到的是一個空值None。
    對list_sum()這個函數進行簡單的修改,在函數內把結果打印出來,不通過return返回結果。


    任務:

    # 定義一個函數sub_sum(),這個函數接收一個列表作為參數,函數返回列表所有奇數項的和以及所有偶數項的和。

    #?coding=utf-8
    L?=?[0,?1,?2,?3,?4,?5,?6,?7,?8]
    def?sub_sum(L):
    ????sum_even?=?0
    ????sum_odd?=?0
    ????for?i?in?range(len(L)):
    ????????if?i?%?2?==?0:
    ????????????sum_even?+=?L[i]
    ????????if?i?%?2?!=?0:
    ????????????sum_odd?+=?L[i]
    ????return?sum_odd,?sum_even
    ????
    result?=?sub_sum(L)
    sum_odd?=?result[0]
    sum_even?=?result[1]
    print('奇數和?=?{}'.format(sum_odd))
    print('偶數和?=?{}'.format(sum_even))
    查看全部
  • 在dict中,每一項包含一個key和一個value,key和value是一一對應的,使用花括號{}表示這是一個dict,然后key和value之間使用冒號:分割,并且每一組key:value的最后,以逗號,表示這一組的結束。

    查看全部
    0 采集 收起 來源:什么是dict

    2021-10-04

  • 判斷順序不了解

    查看全部
  • 要定義只有一個元素的tuple,需要在元素后面添加一個逗號,否則會出現優先級問題

    查看全部
  • count()統計tuple中某個元素出現的次數 ,元組名稱.tuple(查詢 元素名稱)

    index()方法可以返回指定元素的下標,當一個元素多次重復出現時,則返回第一次出現的下標位置。

    查看全部
  • if-elif-else

    if?score?>=90:
    ????print('90+')
    elif?score?>=80:
    ????print('80+')
    else:
    ????print()

    for

    s?=?'ABCD'
    for?ch?in?s:
    ????print(ch)
    查看全部
    0 采集 收起 來源:Python之for循環

    2021-10-04

  • 字符串模板format

    temp?=?'Hello?{}'
    result?=?temp.format('world')???==>?Hello?world
    
    #制定順序
    result=?'Hello?{0},?hello?{1}'.format('world','python')
    
    #命名
    result=?'Hello?{a},?hello?'.format(a='world',b='python')


    字符串切片

    s='ABC'
    ab?=?s[0:2]??????==>AB
    查看全部
  • 地板除????(得到整數部分)

    10//2.5?==>4.0
    10//3?==>?3

    小數點位數 round

    #?round(數,保留位數)
    
    num?=?10?/?3????==>?3.3333333333333335
    #round保留兩位
    round(num,?2)??==>3.33


    短路計算

    a?=?'python'
    print('hello,',?a?or?'world')??==>?python
    b?=?''
    print('hello,',?b?or?'world')????==>world

    在計算a and b時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。

    在計算a or b時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。


    raw字符串

    r'...'???#單行
    r'''...'''?#多行
    查看全部
  • 元組——tuple,用()將元素括起來,有序容器,內容固定

    元組數據類型可以把不是元組的容器轉換為元組,比如將列表轉換成元組,也可將元組轉換為列表,列表內容可變

    查看全部
    0 采集 收起 來源:什么是tuple

    2021-10-04

  • 定義一個函數要使用 def 語句,依次寫出函數名、括號()、括號中的參數和冒號:,然后,在縮進塊中編寫函數體,函數的返回值用 return 語句返回。

    return語句表示返回的意思,函數體內部的語句在執行時,一旦執行到return時,函數就執行完畢,并將結果返回。


    任務:

    # 請定義一個square_of_sum()函數,它接收一個list,返回list中每個元素平方的和。

    #?Enter?a?code
    def?square_of_sum(list1):
    ????sum?=?0
    ????for?i?in?list1:
    ????????sum?+=?(i*i)
    ????return?sum
    L?=?[1,?2,?3,?4]
    x?=?square_of_sum(L)
    print(x)
    查看全部
    0 采集 收起 來源:Python定義函數

    2021-10-04

  • 可以使用函數,把重復的邏輯代碼封裝起來。

    把封裝重復邏輯代碼的過程就做抽象,抽象是數學中非常常見的概念。

    函數就是最基本的一種代碼抽象的方式。

    Python內置的大部分函數參考網址:https://docs.python.org/3/library/functions.html
    要調用一個函數,需要知道函數的名稱和參數。

    需要注意的是,傳遞的參數數量一定要和函數要求的一致,不然將會引起錯誤。

    如果傳入的參數數量是對的,但是參數的類型不能被函數所接受,也會引起錯誤。

    int()函數可以將合法的其它類型數據轉換為整數,str()函數可以將其它類型的數據轉換為字符串。


    任務:

    # sum()函數接收一個list作為參數,并返回list所有元素之和。請計算 1*1?+ 2*2 + 3*3 + ... + 100*100。

    #?Enter?a?code
    list1?=?[]
    for?i?in?range(1,?101):
    ????list1.append(i*i)
    sum1?=?sum(list1)
    print(sum1)
    查看全部
    0 采集 收起 來源:什么是函數

    2021-10-04

  • 1. 使用remove()方法刪除元素以外,還可以使用discard()方法刪除元素。

    當元素不存在時,使用discard()并不會引發錯誤,所以使用discard()是更加高效的一個方法。

    2. set也提供了clear()方法,可以快速清除set中的所有元素。

    3.?set提供方法判斷兩個set之間的關系,比如判斷其中一個set是否為另外一個set的子集issubset()方法或者超集issuperset()方法。

    #?判斷s1是否為s2的子集
    s1.issubset(s2)?#?==>?True
    #?判斷s2是否為s1的超集
    s2.issuperset(s1)?#?==>?True

    4.?set提供isdisjoint()方法,可以快速判斷兩個集合是否有重合,如果有重合,返回False,否則返回True。


    任務

    已知兩個集合s1、s2,請判斷兩個集合是否有重合,如果有,請把重合的元素打印出來。s1 = set([1, 2, 3, 4, 5])????s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])

    #?Enter?a?code
    s1?=?set([1,?2,?3,?4,?5])
    s2?=?set([1,?2,?3,?4,?5,?6,?7,?8,?9])
    same??=?set([])
    for?i?in?s1:
    ??for?j?in?s2:
    ????if?i?==?j:
    ??????same.add(i)
    print(same)
    #?Enter?a?code
    s1?=?set([1,?2,?3,?4,?5])
    s2?=?set([1,?2,?3,?4,?5,?6,?7,?8,?9])
    same?=?set([])
    for?i?in?s1:
    ????if?i?in?s2:
    ????????same.add(i)
    print(same)
    查看全部

舉報

0/150
提交
取消
課程須知
如果您了解程序設計的基本概念,會簡單使用命令行,了解中學數學函數的概念,那么對課程學習會有很大的幫助,讓您學起來得心應手,快速進入Python世界。
老師告訴你能學到什么?
通過本課程的學習,您將學會搭建基本的Python開發環境,以函數為基礎編寫完整的Python代碼,熟練掌握Python的基本數據類型以及list和dict的操作,靈活使用流程控制語句。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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