1.编写一个Python程序,读取一个文本文件(假设文件名为test.txt, 内容为一些英文句子、每个句子占一行),将每个单词首字母大写,统计文件中单词的总数,并将结果写入另一个文件result.txt中.
# 同时打开test.txt用于读取,result.txt用于写入,均使用utf-8编码
with open("test.txt", "r", encoding="utf-8") as fin, open("result.txt", "w", encoding="utf-8") as fout:total = 0 # 初始化单词总数for line in fin: # 遍历输入文件的每一行words = line.strip().split() # 去除行首尾空白并按空格分割为单词列表total += len(words) # 累加本行单词数到总数# 将每个单词首字母大写后写入输出文件,并以空格分隔,最后换行fout.write(" ".join(w.capitalize() for w in words) + "\n")# 在输出文件末尾写入单词总数fout.write(f"\nTotal words: {total}\n")
编程题2
2.1根据”超市营业额2.xlsx”,查看单日交易总额最小的3天的交易数据,并查看这3天是周几。
import pandas as pd
df = pd.read_excel('./data/超市营业额2.xlsx')
df = df[['日期', '交易额']].groupby(['日期'], as_index=False).sum()
df = df.nsmallest(3, '交易额')
df['weekday'] = pd.to_datetime(df['日期']).dt.day_name()
print(df)
日期 交易额 weekday
24 2023-03-25 8498.0 Saturday
20 2023-03-21 8661.0 Tuesday
9 2023-03-10 8789.0 Friday
2.2根据“超市营业额2.xlsx”文件,绘制饼状图展示该月各个柜台营业额在交易总额中的占比
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
plt.rcParams['font.sans-serif'] = ['SimHei']df = pd.read_excel('./data/超市营业额2.xlsx', sheet_name='Sheet1', usecols=['柜台', '交易额'])
df = df.groupby(by='柜台', as_index=False).sum()
df.plot(x='柜台', y='交易额', kind='pie', labels=df['柜台'].values)
plt.legend()
plt.show()
