單項選擇題
點擊選項選擇正確答案,每題有且僅有一個正確答案
1.關於Python文件的‘+’打開模式,哪個選項的描述是正確的?
A. 追加寫模式
B. 只讀模式
C. 與r/w/a/x一同使用,在原功能基礎上增加同時讀寫功能
D. 覆蓋寫模式
正確答案 C
'+'打開模式的精髓在於它能夠同時賦予文件的讀寫權限。
2.以下選項對文件描述錯誤的是:
A. 文件是數據的集合和抽象
B. 文件可以包含任何內容
C. 文件是程序的集合和抽象
D. 文件是存儲在輔助存儲器上的數據序列
正確答案 C
函數或類是程序的集合和抽象,文件不是。
3.給定列表ls = [1, 2, 3, “1”, “2”, “3”],其元素包含2種數據類型,哪個選項是列表ls的數據組織維度?
A. 高維數據
B. 多維數據
C. 一維數據
D. 二維數據
正確答案 C
列表元素如果都是列表,其可能表示二維數據,例如:[[1,2], [3,4], [5,6]]。
如果列表元素不都是的將列表,則它表示一維數據。
4.關於數據組織的維度,哪個選項的描述是錯誤的?
A. 二維數據採用表格方式組織,對應於數學中的矩陣
B. 數據組織存在維度,字典類型用於表示一維和二維數據
C. 一維數據採用線性方式組織,對應於數學中的數組和集合等概念
D. 高維數據由鍵值對類型的數據構成,採用對象方式組織
正確答案 B
字典用於表示高維數據,一般不用來表示一二維數據。
5.以下選項不是Python文件讀操作的是:
A. readtext()
B. readline()
C. readlines()
D. read()
正確答案 A
沒有readtext()方法
6.對於Python文件,以下描述正確的是:
A. 當文件以二進制文件方式打開時,讀取按照字符串方式
B. 同一個文件可以既採用文本方式打開,也可以採用二進制方式打開
C. 當文件以文本方式打開時,讀取按照字節流方式
D. 根據不同類型的文件,打開方式只能是文本或者二進制中的一種
正確答案 B
文件就在那裏,二進制或文本方式打開只是對其不同的程序理解。
7.Python對文件操作採用的統一步驟是:
A. 打開—操作—關閉
B. 操作—讀取—寫入
C. 打開—讀取—寫入—關閉
D. 打開—讀寫—寫入
正確答案 A
打開—操作—關閉 是一個統一步驟,其中,關閉可以省略。
8.關於CSV文件的描述,哪個選項的描述是錯誤的?
CSV文件通過多種編碼表示字符
整個CSV文件是一個二維數據
CSV文件的每一行是一維數據,可以使用Python中的列表類型表示
CSV文件格式是一種通用的、相對簡單的文件格式,應用於程序之間轉移表格數據
正確答案 A
一般來說,CSV文件都是文本文件,由相同編碼字符組成。
9.二維列表ls=[[1,2,3], [4,5,6],[7,8,9]],哪個選項能獲取其中元素5?
A. ls[-2][-1]
B. ls[-1][-1]
C. ls[4]
D. ls[1][1]
正確答案 D
這是二維切片的使用方式。
10.關於文件關閉的close()方法,哪個選項的描述是正確的?
A. 文件處理後可以不用close()方法關閉文件,程序退出時會默認關閉
B. 文件處理遵循嚴格的“打開-操作-關閉”模式
C. 文件處理結束之後,一定要用close()方法關閉文件
D. 如果文件是隻讀方式打開,僅在這種情況下可以不用close()方法關閉文件
正確答案 A
打開文件後採用close()關閉文件是一個好習慣。如果不調用close(),當前Python程序完全運行退出時,該文件引用被釋放,即程序退出時,相當於調用了close()。
程序設計題
程序設計題需要你親自編寫代碼完成作答, 通常需要讀取特定輸入並輸出特定的結果。 請點擊下方題目進入作答
文本的平均列數
描述
打印輸出附件文件的平均列數,計算方法如下:
(1)有效行指包含至少一個字符的行,不計算空行;
(2)每行的列數爲其有效字符數;
(3)平均列數爲有效行的列數平均值,採用四捨五入方式取整數進位。
輸入輸出示例
僅給出輸出格式示例,非正確答案。
示例 1
輸入 | 輸出 |
---|---|
無 | 123 |
f = open("latex.log")
s, c = 0, 0
for line in f:
line = line.strip("\n")
if line == "":
continue
s += len(line)
c += 1
print(round(s / c))
CSV格式清洗與轉換
描述
附件是一個CSV格式文件,提取數據進行如下格式轉換:
(1)按行進行倒序排列;
(2)每行數據倒序排列;
(3)使用分號(;)代替逗號(,)分割數據,無空格。
按照上述要求轉換後將數據輸出。
輸入輸出示例
以下是一個格式示例,不是最終結果。
示例 1
輸入 | 輸出 |
---|---|
(以下內容在文件中) 1,2,3 4,5,6 7,8,9 |
9;8;7 6;5;4 3;2;1 |
f = open("data.csv")
ls = f.readlines()
ls = ls[::-1]
lt = []
for item in ls:
item = item.strip("\n")
item = item.replace(" ", "")
lt = item.split(",")
lt = lt[::-1]
print(";".join(lt))
f.close()