第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

試圖找到偶數(shù)和奇數(shù)列表的中位數(shù),函數(shù)為兩者返回相同的答案

試圖找到偶數(shù)和奇數(shù)列表的中位數(shù),函數(shù)為兩者返回相同的答案

偶然的你 2024-01-27 14:48:22
我正在嘗試找到偶數(shù)和奇數(shù)列表的中位數(shù)。這是一個(gè)很長(zhǎng)的故事,但我必須以這種方式找到中位數(shù)(不導(dǎo)入任何東西)。當(dāng)我傳入 myOddList 作為參數(shù)時(shí),中位數(shù)是 3(正確)。然而,當(dāng)我傳入 myEvenList 作為參數(shù)時(shí),我再次得到 3。如何讓 myEvenList 正常工作并輸出 3.5?myOddList = [1, 2, 3, 4, 5]myEvenList = [1, 2, 3, 4, 5, 6]def medianCalculator(myEvenList):    myOddList.sort()    myEvenList.sort()    n = len(myOddList)    s = len(myEvenList)    if n % 2 != 0:        answerOdd = myOddList[int(n/2)]        return answerOdd    else:        one = myEvenList [(s-1) // 2]        two = myEvenList [(s+1) // 2]        answerEven = (one + two) / 2        return answerEvenmedianForEvenList = medianCalculator(myEvenList)print(medianForEvenList)也許問(wèn)題是我沒(méi)有正確返回答案?
查看完整描述

4 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

問(wèn)題:

  • 您正在訪(fǎng)問(wèn)myEvenListand myOddListinside medianCalculator,但您不應(yīng)該這樣做。medianCalculator應(yīng)與任何外部變量分離。

  • 參數(shù)myEvenList隱藏myEvenList全局變量

  • 您決定運(yùn)行偶數(shù)還是奇數(shù)算法取決于n,它是根據(jù) 計(jì)算的myOddList,因此它始終只運(yùn)行兩側(cè)之一。

  • 不要調(diào)用sort()參數(shù),因?yàn)樗鼤?huì)修改底層列表。先復(fù)印一份。

解決方案:

  • 讓你的medianCalculator函數(shù)沒(méi)有副作用。這意味著,它不應(yīng)該訪(fǎng)問(wèn)其自身函數(shù)之外的任何變量,而只能對(duì)其輸入?yún)?shù)進(jìn)行操作。

  • medianCalculator如果您想獲得多個(gè)答案,請(qǐng)多次致電。使用不同的參數(shù)讓它在不同的輸入上運(yùn)行。

代碼:

myOddList = [1, 2, 3, 4, 5]

myEvenList = [1, 2, 3, 4, 5, 6]


def medianCalculator(myList):

    myList = myList.copy()

    myList.sort()

    n = len(myList)

    if n % 2 != 0:

        answerOdd = myList[int(n/2)]

        return answerOdd

    else:

        one = myList [(n-1) // 2]

        two = myList [(n+1) // 2]

        answerEven = (one + two) / 2

        return answerEven


medianForEvenList = medianCalculator(myEvenList)

print(medianForEvenList)

medianForOddList = medianCalculator(myOddList)

print(medianForOddList)


查看完整回答
反對(duì) 回復(fù) 2024-01-27
?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

myOddList = [1, 2, 3, 4, 5]

myEvenList = [1, 2, 3, 4, 5, 6]


def median(lst):

    

    lst = sorted(lst)

    

    lst_length = len(lst)

    midpoint = lst_length/2

    

    if lst_length % 2 != 0:

        return lst[int(midpoint-0.5)]

    else:

        return (lst[int(midpoint-0.5)] + lst[int(midpoint+0.5)])/2

    

print(median(myOddList))

# 3

print(median(myEvenList))

# 3.5


查看完整回答
反對(duì) 回復(fù) 2024-01-27
?
BIG陽(yáng)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

你得到 3 因?yàn)槟愫雎粤薽yEvenList


n = len(myOddList)

if n % 2 != 0:  # always true

    answerOdd = myOddList[int(n/2)] 

    return answerOdd  # return 3

不要在函數(shù)中使用兩個(gè)列表,而只使用給定的參數(shù)


查看完整回答
反對(duì) 回復(fù) 2024-01-27
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先你創(chuàng)建一個(gè) def,所以不要在那里創(chuàng)建你的列表,其次你應(yīng)該定義一個(gè) def 參數(shù),因?yàn)槟闵院笙胍褂谩?/p>


def median_cal (my_list) : 


    my_list.sort()

    n = len(my_list)


    if n % 2 != 0 :

        x = int(n/2) 

        answer = my_list[x]

        print (answer)


    else : 

        x = int(n/2) - 1 

        y = int(n/2)  

        answer = my_list[x] + my_list[y]

        print (answer/2)


a = [1,2,3]

b = [1,2,3,4]


median_cal(a)

median_cal(b)


查看完整回答
反對(duì) 回復(fù) 2024-01-27
  • 4 回答
  • 0 關(guān)注
  • 228 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)