日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

嵩天-Python语言程序设计程序题--第七周:文件和数据格式化

發布時間:2023/12/19 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵩天-Python语言程序设计程序题--第七周:文件和数据格式化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:嵩天老師的《Python語言程序設計課程》被評為國家精品課程,在幕課上累計超過11萬學員,里面的習題對初學者入門Python,提高編程實戰能力很有幫助。因此,我想把自己學習這門課程作業分享出來,和大家一起學習交流

目錄

文件行數

文件字符分布

文件獨特行數

CSV格式列變換

CSV格式數據清洗

文本的平均列數

? ??描述

? ??輸入輸出示例

CSV格式清洗與轉換

? ??描述

? ??輸入輸出示例


文件行數


打印輸出附件文件的有效行數,注意:空行不計算為有效行數。????????????????????????????????????????????????????????????????????????????????????????????????


輸入輸出格式:這是僅給出輸出格式樣例,不是結果。????????????????????????????????????????????????????????????????????????????????????????????????

輸出示例????????????????????????????????????????????????????????????????????????????????????????????????

共100行

附件 1: latex.log

解答

with open("latex.log",'r',encoding='utf-8') as f:n=0 for line in f:line = line.strip('\n') # 去除換行符,空行也會有一個換行符字符\nif len(line)==0:continuen = n+1 print("共{}行".format(n))

文件字符分布


統計附件文件的小寫字母a-z的字符分布,即出現a-z字符的數量,并輸出結果。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

同時請輸出文件一共包含的字符數量。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

注意輸出格式,各元素之間用英文逗號(,)分隔。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

答案可能包含a-z共26個字符的分布,如果某個字符沒有出現,則不顯示,輸出順序a-z順序。????????????????????????????????????????????????????????????????????????????????????????????????


輸入輸出格式:這是僅給出輸出格式樣例,不是結果。????????????????????????????????????????????????????????????????????????????????????????????????

輸出示例????????????????????????????????????????????????????????????????????????????????????????????????

共999字符,a:11,b:22,c:33,d:44,e:55

附件 1: latex.log

解答

with open("latex.log",'r',encoding='utf-8') as f:character_count = 0d = {}for i in range(26):# 產生a-z26個字母的字典d[chr(ord('a')+i)] = 0for line in f:for ch in line:# 對a-z進行計數d[ch] = d.get(ch,0)+1character_count += 1 print("共{}字符".format(character_count),end="") for i in range(26):if d[chr(ord('a')+i)] != 0: #去除a-z沒有出現過對字母print(",{}:{}".format(chr(ord('a')+i),d[chr(ord('a')+i)]),end="")

?

文件獨特行數


統計附件文件中與其他任何其他行都不同的行的數量,即獨特行的數量。????????????????????????????????????????????????????????????????????????????????????????????????


輸入輸出格式:這是僅給出輸出格式樣例,不是結果。????????????????????????????????????????????????????????????????????????????????????????????????

輸出示例????????????????????????????????????????????????????????????????????????????????????????????????

共99獨特行

附件 1: latex.log?

# 生成每一行即出現次數的字典,然后選出出現次數為1的行進行計數 with open("latex.log",'r',encoding='utf-8') as f:line_count = 0d = {}for line in f:d[line] = d.get(line,0)+1line_count += 1 s = 0 for line in d:if d[line]==1:s=s+1 print("共{}獨特行".format(s),end="")

CSV格式列變換


附件是一個CSV文件,請將每行按照列逆序排列后輸出,不改變各元素格式(如周圍空格布局等)。????????????????????????????????????????????????????????????????????????????????????????????????


輸入輸出格式:這是僅給出輸出格式樣例,不是結果。????????????????????????????????????????????????????????????????????????????????????????????????

輸入示例????????????????????????????????????????????????????????????????????????????????????????????????

(以下是文件內容) 1,2,3,4 a,b,c,d

輸出示例????????????????????????????????????????????????????????????????????????????????????????????????

4,3,2,1 d,c,b,a

附件 1: data.csv

with open("data.csv",'r',encoding='utf-8') as f:for line in f:line=line.strip('\n') # 去掉換行符ls = line.split(",")ls = ls[::-1] # 將ls中的元素逆序排列print(",".join(ls))

CSV格式數據清洗


附件是一個CSV文件,其中每個數據前后存在空格,請對其進行清洗,要求如下:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

(1)去掉每個數據前后空格,即數據之間僅用逗號(,)分割;????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

(2)清洗后打印輸出。????????????????????????????????????????????????????????????????????????????????????????????????


輸入輸出格式:這是僅給出輸出格式樣例,不是結果。????????????????????????????????????????????????????????????????????????????????????????????????

輸入示例????????????????????????????????????????????????????????????????????????????????????????????????

(在文件中) 1, 2, 3, 4, 5 'a', 'b' , 'c' , 'd','e'

輸出示例????????????????????????????????????????????????????????????????????????????????????????????????

1,2,3,4,5 'a','b','c','d','e'

附件 1: data.csv

with open("data.csv",'r',encoding='utf-8') as f:for line in f:line=line.strip('\n') # 去掉換行符line=line.replace(' ','') #去掉空格print(line)

?

文本的平均列數

描述

打印輸出附件文件的平均列數,計算方法如下:????????????????????????????????????????????????????????????????????????????????????????????????

(1)有效行指包含至少一個字符的行,不計算空行;????????????????????????????????????????????????????????????????????????????????????????????????

(2)每行的列數為其有效字符數;????????????????????????????????????????????????????????????????????????????????????????????????

(3)平均列數為有效行的列數平均值,采用四舍五入方式取整數進位。????????????????????????????????????????????????????????????????????????????????????????????????

輸入輸出示例

僅給出輸出格式示例,非正確答案。????????????????????????????????????????????????????????????????????????????????????????????????

?輸入輸出
示例 1 123

????????????????????????????????????????????????????????????????????????????????????????????????附件???程序內如何讀取附件?

附件 1: latex.log

lineSum=0 n=0 with open("latex.log",'r',encoding='utf-8') as f:for line in f:line = line.strip('\n') # 去除換行符if len(line)==0:continuelineSum = lineSum + len(line)n = n+1 print(int(lineSum/n))

CSV格式清洗與轉換

描述

附件是一個CSV格式文件,提取數據進行如下格式轉換:????????????????????????????????????????????????????????????????????????????????????????????????

(1)按行進行倒序排列;????????????????????????????????????????????????????????????????????????????????????????????????

(2)每行數據倒序排列;????????????????????????????????????????????????????????????????????????????????????????????????

(3)使用分號(;)代替逗號(,)分割數據,無空格;????????????????????????????????????????????????????????????????????????????????????????????????

按照上述要求轉換后將數據輸出。?????????????????????????????????????????????????????????????????????????????????????????????????

輸入輸出示例

以下是一個格式示例,不是最終結果。????????????????????????????????????????????????????????????????????????????????????????????????

?輸入輸出
示例1(以下內容在文件中)
1,2,3
4,5,6
7,8,9

9;8;7

6;5;4

3;2;1

?????????????????????????????????????????????????????????????????????????????????????????????????附件 1: data.csv

ls=[] with open("data.csv",'r',encoding='utf-8') as f:for line in f:line=line.replace("\n",'')line=line.replace(" ",'')ls.append(line.split(',')[::-1])ls=ls[::-1]for i in ls:print(';'.join(i))

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的嵩天-Python语言程序设计程序题--第七周:文件和数据格式化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。