1. 無空隙回聲輸出
描述
獲得用戶輸入,去掉其中全部空格,將其他字符按收入順序打印輸出。
輸入輸出示例
輸入 | 輸出 | |
---|---|---|
示例 1 | Alice + Bob |
Alice+Bob |
題解
s = input()
print(s.replace(" ", "")) #利用s中replace的方法把空格去掉
2. 文件關鍵行數
描述
關鍵行指一個文件中包含的不重復行。關鍵行數指一個文件中包含的不重復行的數量。
統計附件文件中與關鍵行的數量。
輸入輸出示例
此處僅示例輸出格式。
輸入 | 輸出 | |
---|---|---|
示例 1 | `` | 共99關鍵行 |
題解
with open('latex.log','r',encoding='utf-8') as f: #打開文件
rows_set = set(f.readlines()) # 去除重復行就想到set去重
print('共{}關鍵行'.format(len(rows_set))) # format標准化輸出 len直接取set的長度
3. 字典翻轉輸出
描述
讀入一個字典類型的字符串,反轉其中鍵值對輸出。
即,讀入字典key : value模式,輸出value : key模式。
輸入格式
用戶輸入的字典格式的字符串,如果輸入不正確,提示:輸入錯誤。
輸出格式
給定字典d,按照print(d)方式輸出
輸入輸出示例
輸入 | 輸出 | |
---|---|---|
示例 1 | {"a": 1, "b": 2} |
{1: 'a', 2: 'b'} |
題解
a = input()
try: # 因為題目要求有輸入錯誤時的輸出 就考慮到異常處理
a = eval(a)
print(dict(zip(a.values(), a.keys()))) # 直接反向輸出
# 這里有兩個函數 zip() dict() 見下注釋
except:
print('輸入錯誤') # 異常拋出
注 :
zip() 函數用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。
zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中為了減少內存,zip() 返回的是一個對象。如需展示列表,需手動 list() 轉換。
dict() 函數用於創建一個字典。
4. 《沉默的羔羊》之最多單詞
描述
附件是《沉默的羔羊》中文版內容,請讀入內容,分詞后輸出長度大於2且最多的單詞。
如果存在多個單詞出現頻率一致,請輸出按照Unicode排序后最大的單詞。
輸入格式
文件
輸出格式
字符串
輸入輸出示例
僅提供一個輸出示范樣例。
輸入 | 輸出 | |
---|---|---|
示例 1 | 無 |
羔羊 |
題解
import jieba
with open('沉默的羔羊.txt','r',encoding='utf-8')as f: # 打開文件
txt = f.read() # 讀取為txt
words = jieba.lcut(txt) # 利用jieba庫的lcut分詞
counts={} # 創建字典
for word in words: # 逐個遍歷
if len(word) == 1: # 若是當前詞語只出現一次 跳過
continue
else:
counts[word]=counts.get(word,0)+1 # 此時詞語出現次數累加
list = list(counts.items()) # 字典中items()方法見下
# 反向排列 key值為字典的[1]索引 = value
list.sort(key=lambda x:x[1],reverse=True)
print(list[0][0]) # 輸出第一
Python 字典(Dictionary) items() 函數以列表返回可遍歷的(鍵, 值) 元組數組。