1. 程式人生 > >Python 小練習 求list內中間數

Python 小練習 求list內中間數

題目要求:隊列表內的數字求中間數

如果列表內元素數量為奇數,則排序後取排序位置最中間的數值。

如果列表內元素數量為偶數,則取排序後排序位置最中間的2個數值的平均數

程式碼如下:

def median(s):
    n=len(s)                   #計算列表內元素數量
    if n==1:                   #這個要非常注意,當元素只有一個的時候,直接取值
        return s[0]         
    elif n%2!=0:               #如果元素數量為奇數
        m=sorted(s)            #排序一下
        mid=m[(n-1)//2]        #中間值等於元素總數量減一以後除以2,記得要用//


        return mid
    else:
        m=sorted(s)               
        mid=float(m[n//2-1]+m[n//2])/2  #如果是偶數,取元素數量//2後減一位的那個值,以及元素數量//2的那個值,記得最後要用float,不然沒有小數點
        return mid


相關推薦

Python 練習 list中間

題目要求:隊列表內的數字求中間數 如果列表內元素數量為奇數,則排序後取排序位置最中間的數值。 如果列表內元素數量為偶數,則取排序後排序位置最中間的2個數值的平均數 程式碼如下: def median

Python練習---導入os模塊做一個統計文件夾大小的函

for def .get ges 大小 返回 rsize 分享 path import os def getdirsize(dirpath):   #設置一個用於累加大小的變量   total = 0   #獲取文件夾中所有文件和文件夾   allna

python練習7:出100以內的素數

題:求出100以內所有的素數並打印出來。 分析:什麼是素數?素數就是隻能被 1 和它本身所整除的數。在前面的部落格中我已經寫了,怎麼判斷一個數是否為素數。現在我來給你一種思路,就是從2~100,逐個判斷

python練習1:設計這樣一個函,在桌面的文件夾上創建10個文本,以數字給它們命名。

一個 數字 width lose 文件夾 .com 小練習 pen wid python小練習1:設計這樣一個函數,在桌面的文件夾上創建10個文本,以數字給它們命名。 使用for循環即可實現: for name in range(1,11): desk

Python練習更改版(更改一部分代碼,與錯誤)

print items isdigit 對不起 pro 轉換成 efault adl confirm 之前上傳的發現有部分代碼錯誤,重新上傳; 更改了第一次的代碼與錯誤,增加了註釋與商店部分功能; 沒有每天堅持更新博客,與初衷相差甚遠,堅持!每天進步一點點!

python練習--屬性

class 開頭 類方法 文字 沒有 __init__ 計算 div 技術分享 箭頭這個作業: 1 class Box:#定義一個類名為Box,類名後不必有括號,類包含類屬性和類方法,這個類沒有定義類屬性 2 ‘‘‘這是一個計算體積的類‘‘‘#這是這個類

python練習

spa 微信 logs draw .com odin height hub git 題目內容: 將你的 QQ 頭像(或者微博頭像)右上角加上紅色的數字,類似於微信未讀信息數量那種提示效果。 類似於圖中效果 #!usr/bin/env python #_*_coding:

python 練習

判斷 [0 數字 for 任務 麻煩 保存 開車 完成 一個環形的公路上有n個加油站,編號為0,1,2,...n-1, 每個加油站加油都有一個上限,保存在列表limit中,即limit[i]為第i個加油站加油的上限, 而從第i個加油站開車開到第(i+1)%n個加油站需要co

Python練習(1)

duyuheng python 比較價錢 找出一個月中的天數 計算三角的周長 點在矩形內嗎?金融方面:比較價錢假設你購買大米時發現它有兩種包裝。你會別寫一個程序比較這兩種包裝的價錢。程序提示用戶輸入每種包裝的重量和價錢,然後顯示價錢更好的那種包裝。下面是個示例運行#!/usr/bin/env pytho

python 練習 10

oot 每次 += ret 字母 val pre 字母表 bsp 給你一個十進制數a,將它轉換成b進制數,如果b>10,用大寫字母表示(10用A表示,等等) a為32位整數,2 <= b <= 16 如a=3,b = 2, 則輸出11 AC: dic

python 練習 11

lis 取出 pre 練習 全部 例如 col sort 自己 桌子上有一堆數量不超過20的果子,每個果子的重量都是不超過20的正整數,全部記錄在列表 L 裏面。小明和小紅決定平分它們,但是由於他們都太自私,沒有人願意對方比自己分得的總重量更多。而果子又不能切開,所以最後他

Day7 練習(統計初始化據的次數和對象之間的交互)

問題 實現類 student 實現 對象 amp name nbsp agg 寫一個小練習,定義好一個類,每初始化一次,計數器+1,統計最後次數. class OldboyStudent: school = ‘oldboy‘ count=0 d

python練習

海倫公式 input 交互式 int 計算 radius rtl 同學 交互 1.Hello World! print(‘Hello World!‘) 2.簡單交互(交互式,文件式)教材P19 name = input("輸入名字:") print("{}同學,學好

python練習-找出字符串中的子字符串

end dex index python lis pytho enume blog new 1 #方法1 2 #找出字符串中以a開頭,以b結尾的所有子串 3 def find_substr(string): 4 result = [] 5 for

45. Python 練習

python需求1:ABCD * 9 = DCBA通過計算方法,給我們計算出 A = ? B = ? C = ? D = ?A: 1-9B: 0-9C: 0-9D: 1-9A != B != C != D代碼:class CountNumber(object): def __init__(sel

python練習1 名片管理器

move while 練習 pre pri 選擇 [] 個人 one 需要完成的基本功能:添加名片 刪除名片 修改名片 查詢名片 退出系統 思路:用字典作為名片存放個人信息,然後把名片存入列表中。 cardList = [] # 列表,用於保存所有人名片,每個名片是一個字

python練習02 批量修改文件名

... 練習 inf replace bubuko 修改文件名 文件名 listdir blog 在學到修改文件名的時候想到自己下載的小說名字有點長,在手機上看時只顯示前面的世紀百強...看著不怎麽舒服,所以就想學以致用把名字改短一點。下面這樣圖就修改前的樣子

python練習:給定一個非空且為正整數的列表 按重復次數 降序排列輸出

class 數字 轉換成 原來 小練習 顯示 python index 去重 假設有個列表 a=[1,1,1,2,2,4,5,5,5,5] (非空且為正整數) 那麽根據要求 最終輸出的形式為 5,1,2,4 (按重復次數 降序排列輸出) 代碼實現及解釋: a=[1

Python(三) list列表(組)

成了 個人 報錯 清空 值範圍 查看 val app 方便 list基本操作 列表定義:中括號括起來,中間用逗號隔開 索引(下標、角標):列表中的第一個元素的索引是0,索引可以更方便的操作列表 訪問列表元素:列表名字[索引] 定義一個空的list stu_info=[]

python練習16-20

# 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加由鍵盤控制 from functools import reduce a, n =int(input('請輸入兩個整數:')), int(in