一、提交要求
⚫ 以下 9 道题,每道题的实现写在单独的 python 文件里,其中 Q6 需要提交 2 个 python 文件(1 个 client,1 个 server),Q9 可以将创建好的 sqlite db 文件和 python 代码一起提交,也在代码运行时创建。
⚫ 请以 if __name__ == ‘__main__’的形式来运行你所写的代码逻辑。
⚫ 编码推荐用 utf-8 格式编码。
⚫ 编码工具推荐 Visual Studio Code、PyCharm、Sublime Text。
⚫ 如需代码版本管理,推荐 git、svn。
⚫ 代码中增加必要的备注,惠及他人,方便自己。
⚫ python 版本建议 python2.7 版本(32 位/64 位均可),下载地址:
https://www.python.org/downloads/release/python-2717/
二、题目列表 Q1:
统计如下字符串 str 中每个单词出现的次数,结果存入 dict 中,单词为 key,次数为 value,
并按照 value 由高到底排序,输出此 dict。
考察点:字符串处理、字典操作
str = “””The Zen of Python, by Tim Peters Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated. Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it. Although that way may not be obvious at first unless you’re Dutch. Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea — let’s do more of those!”””
Q2:
获取当前的系统时间,写入到指定的文件 time.txt 中,时间格式为 year-month-day hh:mm:ss,如 2019-11-27 21:40:02
考察点:文件操作、时间处理
Q3:
有 10 个游戏的初始账号,需要给这 10 个账号生成 10 个随机的密码,密码要求 8 位,只 能包含数字 0-9、小写字母 a-z 以及大写字母 A-Z,每个密码中没有重复的字符。 考察点:循环处理、字符串操作
Q4:
给邮箱 qa_2020@163.com 发送邮件,主题为自己的姓名,正文为”hello world” 考察点:邮件操作
Q5:
写一段代码,遍历输出 C:\Program Files (x86)目录下,这一层所有文件夹名称(仅限这一 层)
PS:如果是 Linux 系统,则输出/home 目录下的所有文件夹名称;如果是 Mac 系统,则 输出/Users/xxx 目录下的所有文件夹名称(xxx 是你自己的用户名);如果这些目录你都没 有,则随意选取一个非空目录进行输出。
考察点:文件夹操作
Q6:
实现一个 tcp 的 client 和 server,client 给 server 发送随机的字符串内容,server 收到后 都将其倒序返回给 client,当客户端输入’over'(不区分大小写),则客户端结束发送,程序 退出;如:client 发送’12345’,server 返回’54321’
考察点:socket 编程
Q7:
实现一段代码,访问 https://www.baidu.com/,将其页面中加载的所有 png 格式的图片 存储到本地
考察点:网络爬虫、文件操作
Q8:
将附件 csv 中的内容,写入到 json 中,csv 中的 ID 列为 key,其他列为 value。csv 数据 见 Q8.csv,json 数据示例见 Q8_example.json(缩进无需关注,保证结果正确即可)。
考察点:csv、json 文件的处理
Q9:
利用 wxpython 模块,实现一个带有 GUI 界面的秒表,计时格式为 mm:ss.xx,依次为分 钟,秒,毫秒,精确到小数点后 2 位,实现功能:
1、启动、停止、复位,可参考 iPhone 上的秒表实现
2、支持保存功能,可将结果存入 sqlite,存入的数据为当前的系统时间、本次的计时 结果。
考察点:wxpython 编程、sqlite 操作
安装说明:
⚫ 附件中提供了 wxpython 32bit/64bit windows 版本的的安装文件 ⚫ 取决于安装的 python 版本,请用 pip install xxx.whl 进行安装
⚫ pip 安装说明 https://pip.pypa.io/en/stable/installing/
人生苦短,我用 Python,祝各位体会到 Python 编码的乐趣