国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

從零學python系列之數據處理編程實例(一)

2020-02-23 05:23:06
字體:
來源:轉載
供稿:網友

要求:分別以james,julie,mikey,sarah四個學生的名字建立文本文件,分別存儲各自的成績,時間格式都精確為分秒,時間越短成績越好,分別輸出每個學生的無重復的前三個最好成績,且分秒的分隔符要統一為“.”

數據準備:分別建立四個文本文件

              james.txt     2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22

              julie.txt        2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21

              mikey.txt      2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38

              sarah.txt      2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55

代碼實現:

代碼如下:
import os
os.chdir('C:/Python33/HeadFirstPython/hfpy_code/chapter5')   #將工作空間修改為文件所在的目錄
#定義函數get_filedata從文件中取值
def get_filedata(filename):
    try:
        with open(filename)  as f:            #with語句打開和自動關閉文件
            data=f.readline()                 #從文件中逐行讀取字符
            return (data.strip().split(','))  #將字符間的空格清除后,用逗號分隔字符
    except IOError as ioerr:
        print ('File Error' + str(ioerr))     #異常處理,打印錯誤
        return (None)
#定義函數modify_time_format將所有文件中的時分表達方式統一為“分.秒”
def modify_time_format(time_string):
    if "-" in time_string:
        splitter="-"
    elif ":" in time_string:
        splitter=":"
    else:
        splitter="."
    (mins, secs)=time_string.split(splitter)  #用分隔符splitter分隔字符后分別存入mins和secs
    return (mins+ '.' +secs)
#定義函數get_prev_three返回文件中排名前三的不重復的時間成績
def get_prev_three(filename):
    new_list=[modify_time_format(each_t) for each_t in get_filedata(filename)]   #采用列表推導將統一時分表達方式后的記錄生成新的列表
    delete_repetition=set(new_list)                                              #采用集合set函數刪除新列表中重復項,并生成新的集合

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓬莱市| 宝鸡市| 特克斯县| 穆棱市| 安阳市| 兴义市| 汉中市| 和田市| 屏山县| 金塔县| 金寨县| 年辖:市辖区| 郧西县| 博湖县| 邮箱| 桑植县| 平南县| 鄂伦春自治旗| 淄博市| 贺州市| 嘉黎县| 增城市| 兴化市| 鸡泽县| 宿迁市| 堆龙德庆县| 精河县| 溧水县| 盐池县| 浠水县| 西昌市| 望江县| 团风县| 绥德县| 保山市| 宁波市| 莒南县| 富锦市| 柏乡县| 南部县| 新巴尔虎右旗|