首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,375 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,988 阅读
3
gradle-5.4.1-all.zip下载
8,881 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,836 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,875 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
624
篇文章
累计收到
617
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
142
篇与
的结果
2020-05-09
4k超清壁纸APP抓包获取所有壁纸下载地址
额,最近发现手机壁纸似乎有段时间没换了,刚好又看到网上有一个APP叫做4k超清壁纸似乎很厉害的样子,然后我就抓包,发现这家APP的心真大。先来一张效果图打开Burp,打开软件,设置好burp和模拟器然后清空现有的记录,app内刷新一下多了4条然后就找到接口了。。。感觉现在的一些APP用的http协议就跟玩一样,直接get就能获取所有信息了。。。https://api.wallpaperscraft.com/images?screen[width]=1080&screen[height]=1920&sort=date&lang=en&limit=60&offset=0然后就是python代码:import os import threading import requests def get_url(): url = 'https://api.wallpaperscraft.com/images?screen[width]=1080&screen[height]=1920&sort=rating&lang=en&limit=1000000&offset=0' headers = { 'User-Agent': 'okhttp/3.8.0', } data = requests.get(url, headers).json() data = data['items'] originals = [] adapteds = [] adapted_landscapes = [] for i in data: variation = i['variations'] originals.append(variation['original']['url']) adapteds.append(variation['adapted']['url']) adapted_landscapes.append(variation['adapted_landscape']['url']) print('链接已整合完毕') return originals, adapteds, adapted_landscapes def down_originals(urls): print('开始执行down_originals') if not os.path.exists('originals'): os.makedirs('originals') for i in urls: img_data = requests.get(i).content filename = i[42:] with open('originals/' + filename, 'wb') as f: f.write(img_data) print(f'已下载{filename}') def down_adapteds(urls): print('开始执行down_adapteds') if not os.path.exists('adapteds'): os.makedirs('adapteds') for i in urls: img_data = requests.get(i).content filename = i[42:] with open('adapteds/' + filename, 'wb') as f: f.write(img_data) print(f'已下载{filename}') def down_adapted_landscapes(urls): print('开始执行down_adapted_landscapes') if not os.path.exists('adapted_landscapes'): os.makedirs('adapted_landscapes') for i in urls: img_data = requests.get(i).content filename = i[42:] with open('adapted_landscapes/' + filename, 'wb') as f: f.write(img_data) print(f'已下载{filename}') if __name__ == '__main__': all_url = get_url() originals = all_url[0] adapteds = all_url[1] adapted_landscapes = all_url[2] print('url已分类整合完毕') t1 = threading.Thread(target=down_originals, args=(originals,)) t2 = threading.Thread(target=down_adapteds, args=(adapteds,)) t3 = threading.Thread(target=down_adapted_landscapes, args=(adapted_landscapes,)) t3.start() t2.start() t1.start()
2020年05月09日
1,175 阅读
1 评论
0 点赞
2020-05-08
自动更新QQ昵称为当前时间
先抓到了QQ手机端修改名称的包。然后用python发包,就这么简单。但是速度过快会被禁止修改。就像这样。然后python实现代码如下:import time import requests while True: now = time.strftime('%H:%M:%S', time.localtime()) url = 'https://ti.qq.com/proxy/domain/oidb.tim.qq.com/v3/oidbinterface/oidb_0x587_52?sdkappid=20344' headers = { 'Host': 'ti.qq.com', 'Content-Length': '18', 'Accept': 'application/json', 'Cookie': 'p_uin=替换为你的p_uin; p_skey=替换为你的p_skey', } data = f'{{"str_nick":"{now}"}}' data = requests.post(url=url, headers=headers, data=data).json() print(data) time.sleep(60)这里时间间隔设置的一分钟,1分钟的时候我还没被封。后来作死调成10s就GG了。cookie里面的p_uin的值为0加你的QQ,如我QQ为:78013994,就是o78013994P_skey:这个就需要自己再去抓个包了(虽然网上也有这种快捷网站,不推荐)随便登陆个空间什么的就行了。替换就行了。
2020年05月08日
4,643 阅读
0 评论
7 点赞
2020-05-06
分析最近的一个网课答案查询2.0
这是一次没啥技术含量的分析,只为水一篇博文嘿嘿,这个接口也是这个作者免费开放的。在此感谢作者最近看到一些网站都有这个网课答案查询软件于是想着,这么简单的软件,应该不会很复杂吧,然后下载之后进行了抓包(谁让咱不会逆向涅)打开工具:Wireshark(还真是个强大的软件呢),随便查询一下,然后慢慢找吧似乎就是这个了把这个值,转码看下吧好吧这个是返回值了,应该没错了,然后是这个请求url,继续拿去转码一下三个值:title,secret,token然后既然是get请求,直接放到浏览器看下,老铁没毛病。然后就是分析三个值了,第一个title就是关键词了,第二个secret暂时不知道,第三个token估计是秘钥吧然后打开那个网站看一下好吧三个值是什么意思知道了,secret加密文件加密的,token是作者授权的,所以token应该不变就这一个就行了。既然是加密文件,那要么是在本地文件,亦或者还有接口,然后继续翻抓包软件吧。这次把目标锁定在http协议上。所以加一个过滤器嗯,又看到一个继续转码看看t=后面跟的是之前搜的东西,放到浏览器打开看下这串值似乎就是之前的加密文件加密后的东西/topic/getSubject?title=lanol&secret=8942b58ebfe8e11133e7127e47256fe1&token=C00B0C13B9814BEA5360766F4445D623然后看下这个页面源代码吧。引用了一个JS,然后就是加密。然后思路:把这个JS文件保存,用python调用。import execjs with open('jm.js', 'r') as f: js = f.read() question = 'lanol' jiami = execjs.compile(js).call('get_tk', f'{question}') print(jiami)然后ok,生成的secret一模一样然后就可以查题了完美然后我又翻了一下抓包记录打开到浏览器看了下感谢这个软件的作者了最后python代码:import execjs import requests def answer(question, jiami): url = f'https://www.150s.cn/topic/getSubject?title={question}&secret={jiami}&token=C00B0C13B9814BEA5360766F4445D623' html = requests.get(url).json() return html print("欢迎使用Lan网课查题助手") print("www.lanol.cn") with open('jm.js', 'r') as f: js = f.read() while True: question = input("请输入题干(六个字以上):") jiami = execjs.compile(js).call('get_tk', f'{question}') result = answer(question, jiami) qu = result['title'] an = result['answer'] print(f'题目:{qu} 答案:{an}')js文件:jm.js密码:www.lanol.cn|大小:212KB已经过安全软件检测无毒,请您放心下载。
2020年05月06日
2,345 阅读
0 评论
0 点赞
2020-05-04
python的一些加密模块,hashlib,hmac,uuid
md5加密:单向,算法加密后结果是一样的。import hashlib x = hashlib.md5() x.update('www.lanol.cn'.encode('utf8')) print(x.hexdigest())ssa加密:这是一个系列,长度不同。import hashlib h1 = hashlib.sha1('www.lanol.cn'.encode()) print(h1.hexdigest()) h2 = hashlib.sha224('www.lanol.cn'.encode()) print(h2.hexdigest()) h3 = hashlib.sha256('www.lanol.cn'.encode()) print(h3.hexdigest()) h4 = hashlib.sha384('www.lanol.cn'.encode()) print(h4.hexdigest()) h5 = hashlib.sha512('www.lanol.cn'.encode()) print(h5.hexdigest())一个字节占四位,如sha224uuid1:用来生成一个全局唯一的模块uuid3,uuid5:需要一个namespace,加密字符,生成的结果树固定的uuid4:每次打印变化的,随机的
2020年05月04日
1,031 阅读
0 评论
0 点赞
2020-05-03
中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(6-10周)
测验6: 组合数据类型 (第6周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487643945关于Python组合数据类型,以下描述错误的是:APython的字符串、元组和列表类型都属于序列类型B组合数据类型可以分为3类:序列类型、集合类型和映射类型C组合数据类型能够将多个相同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易D序列类型是二维元素向量,元素之间存在先后关系,通过序号访问 正确答案 D序列类型总体上可以看成一维向量,如果其元素都是序列,则可被当作二维向量。21 分#0032003700380032003300331588487643948给定字典d,哪个选项对d.values()的描述是正确的?A返回一个元组类型,包括字典d中所有值B返回一个列表类型,包括字典d中所有值C返回一种dict_values类型,包括字典d中所有值D返回一个集合类型,包括字典d中所有值 正确答案 C运行如下代码:(其中d是一个预定义的字典)d={"a":1, "b":2}type(d.values())输出结果是:<class 'dict_values'>d.values()返回的是dict_values类型,这个类型通常与for..in组合使用。31 分#0032003700380032003300331588487643951哪个选项是下面代码的输出结果?d= {'a': 1, 'b': 2, 'b': '3'}print(d['b'])A{'b':2}B1C2D3 正确答案 D创建字典时,如果相同键对应不同值,字典采用最后(最新)一个"键值对"。41 分#0032003700380032003300331588487643953给定字典d,哪个选项对x in d的描述是正确的?A判断x是否是在字典d中以键或值方式存在B判断x是否是字典d中的键Cx是一个二元元组,判断x是否是字典d中的键值对D判断x是否是字典d中的值 正确答案 B键是值的序号,也是字典中值的索引方式。因此,x in d 中的x被当作d中的序号进行判断。51 分#0032003700380032003300331588487643955列表ls,哪个选项对ls.append(x)的描述是正确的?A替换列表ls最后一个元素为xB向列表ls最前面增加一个元素xC向ls中增加元素,如果x是一个列表,则可以同时增加多个元素D只能向列表ls最后增加一个元素x 正确答案 Dls.append(x),如果x是一个列表,则该列表作为一个元素增加的ls中。61 分#0032003700380032003300331588487643956S和T是两个集合,哪个选项对S^T的描述是正确的?AS和T的交运算,包括同时在集合S和T中的元素BS和T的补运算,包括集合S和T中的非相同元素CS和T的并运算,包括在集合S和T中的所有元素DS和T的差运算,包括在集合S但不在T中的元素 正确答案 B集合"交并差补"四种运算分别对应的运算符是:& | - ^71 分#0032003700380032003300331588487643957序列s,哪个选项对s.index(x)的描述是正确的?A返回序列s中元素x所有出现位置的序号B返回序列s中x的长度C返回序列s中元素x第一次出现的序号D返回序列s中序号为x的元素 正确答案 C注意:s.index(x)返回第一次出现x的序号,并不返回全部序号。81 分#0032003700380032003300331588487643958关于大括号{},以下描述正确的是:A直接使用{}将生成一个元组类型B直接使用{}将生成一个集合类型C直接使用{}将生成一个列表类型D直接使用{}将生成一个字典类型 正确答案 D集合类型和字典类型最外侧都用{}表示,不同在于,集合类型元素是普通元素,字典类型元素是键值对。字典在程序设计中非常常用,因此,直接采用{}默认生成一个空字典。91 分#0032003700380032003300331588487643960以下不是Python序列类型的是:A元组类型B数组类型C列表类型D字符串类型 正确答案 BPython内置数据类型中没有数组类型。101 分#0032003700380032003300331588487643961关于Python的元组类型,以下选项错误的是:A一个元组可以作为另一个元组的元素,可以采用多级索引获取信息B元组采用逗号和圆括号(可选)来表示C元组中元素必须是相同类型D元组一旦创建就不能被修改 正确答案 C序列类型(元组、列表)中元素都可以是不同类型。数字不同数之和描述获得用户输入的一个整数N,输出N中所出现不同数字的和。例如:用户输入 123123123,其中所出现的不同数字为:1、2、3,这几个数字和为6。输入输出示例输入输出示例 11231231236a = input() b = set(a) result = 0 for i in b: result += int(i) print(result)31588487669495人名最多数统计描述编程模板中给出了一个字符串,其中包含了含有重复的人名,请直接输出出现最多的人名。 输入输出示例这里是个示例,展示输出格式,不是结果。输入输出示例 1无黄蓉s = '''双儿 洪七公 赵敏 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙 金轮法王 小龙女 杨过 慕容复 梅超风 李莫愁 洪七公 张无忌 梅超风 杨逍 鳌拜 岳不群 黄药师 黄蓉 段誉 金轮法王 忽必烈 忽必烈 张三丰 乔峰 乔峰 阿紫 乔峰 金轮法王 袁冠南 张无忌 郭襄 黄蓉 李莫愁 赵敏 赵敏 郭芙 张三丰 乔峰 赵敏 梅超风 双儿 鳌拜 陈家洛 袁冠南 郭芙 郭芙 杨逍 赵敏 金轮法王 忽必烈 慕容复 张三丰 赵敏 杨逍 令狐冲 黄药师 袁冠南 杨逍 完颜洪烈 殷天正 李莫愁 阿紫 逍遥子 乔峰 逍遥子 完颜洪烈 郭芙 杨逍 张无忌 杨过 慕容复 逍遥子 虚竹 双儿 乔峰 郭芙 黄蓉 李莫愁 陈家洛 杨过 忽必烈 鳌拜 王语嫣 洪七公 韦小宝 阿朱 梅超风 段誉 岳灵珊 完颜洪烈 乔峰 段誉 杨过 杨过 慕容复 黄蓉 杨过 阿紫 杨逍 张三丰 张三丰 赵敏 张三丰 杨逍 黄蓉 金轮法王 郭襄 张三丰 令狐冲 赵敏 郭芙 韦小宝 黄药师 阿紫 韦小宝 金轮法王 杨逍 令狐冲 阿紫 洪七公 袁冠南 双儿 郭靖 鳌拜 谢逊 阿紫 郭襄 梅超风 张无忌 段誉 忽必烈 完颜洪烈 双儿 逍遥子 谢逊 完颜洪烈 殷天正 金轮法王 张三丰 双儿 郭襄 阿朱 郭襄 双儿 李莫愁 郭襄 忽必烈 金轮法王 张无忌 鳌拜 忽必烈 郭襄 令狐冲 谢逊 梅超风 殷天正 段誉 袁冠南 张三丰 王语嫣 阿紫 谢逊 杨过 郭靖 黄蓉 双儿 灭绝师太 段誉 张无忌 陈家洛 黄蓉 鳌拜 黄药师 逍遥子 忽必烈 赵敏 逍遥子 完颜洪烈 金轮法王 双儿 鳌拜 洪七公 郭芙 郭襄 赵敏''' count={} s=s.split() for i in s: count[i]=count.get(i,0)+1 items=list(count.items()) items.sort(key=lambda x:x[1], reverse=True) word,digit=items[0] print(word)测验7: 文件和数据格式化 (第7周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487697424给定列表ls = [1, 2, 3, "1", "2", "3"],其元素包含2种数据类型,哪个选项是列表ls的数据组织维度?A多维数据B高维数据C二维数据D一维数据 正确答案 D列表元素如果都是列表,其可能表示二维数据,例如:[[1,2], [3,4], [5,6]]。如果列表元素不都是的将列表,则它表示一维数据。21 分#0032003700380032003300331588487697432关于CSV文件的描述,哪个选项的描述是错误的?ACSV文件的每一行是一维数据,可以使用Python中的列表类型表示BCSV文件通过多种编码表示字符C整个CSV文件是一个二维数据DCSV文件格式是一种通用的、相对简单的文件格式,应用于程序之间转移表格数据 正确答案 B一般来说,CSV文件都是文本文件,由相同编码字符组成。31 分#0032003700380032003300331588487697436以下选项对文件描述错误的是:A文件是存储在辅助存储器上的数据序列B文件可以包含任何内容C文件是程序的集合和抽象D文件是数据的集合和抽象 正确答案 C函数或类是程序的集合和抽象,文件不是。41 分#0032003700380032003300331588487697438关于Python文件的‘+’打开模式,哪个选项的描述是正确的?A覆盖写模式B追加写模式C与r/w/a/x一同使用,在原功能基础上增加同时读写功能D只读模式 正确答案 C'+'打开模式的精髓在于它能够同时赋予文件的读写权限。51 分#0032003700380032003300331588487697439关于数据组织的维度,哪个选项的描述是错误的?A二维数据采用表格方式组织,对应于数学中的矩阵B数据组织存在维度,字典类型用于表示一维和二维数据C高维数据由键值对类型的数据构成,采用对象方式组织D一维数据采用线性方式组织,对应于数学中的数组和集合等概念 正确答案 B字典用于表示高维数据,一般不用来表示一二维数据。61 分#0032003700380032003300331588487697441Python对文件操作采用的统一步骤是:A打开—操作—关闭B打开—读取—写入—关闭C操作—读取—写入D打开—读写—写入 正确答案 A打开—操作—关闭 是一个统一步骤,其中,关闭可以省略。71 分#0032003700380032003300331588487697442以下选项不是Python文件读操作的是:Areadline()Bread()Creadlines()Dreadtext() 正确答案 D没有readtext()方法81 分#0032003700380032003300331588487697444关于文件关闭的close()方法,哪个选项的描述是正确的?A如果文件是只读方式打开,仅在这种情况下可以不用close()方法关闭文件B文件处理遵循严格的“打开-操作-关闭”模式C文件处理结束之后,一定要用close()方法关闭文件D文件处理后可以不用close()方法关闭文件,程序退出时会默认关闭 正确答案 D打开文件后采用close()关闭文件是一个好习惯。如果不调用close(),当前Python程序完全运行退出时,该文件引用被释放,即程序退出时,相当于调用了close()。91 分#0032003700380032003300331588487697445对于Python文件,以下描述正确的是:A根据不同类型的文件,打开方式只能是文本或者二进制中的一种B当文件以文本方式打开时,读取按照字节流方式C当文件以二进制文件方式打开时,读取按照字符串方式D同一个文件可以既采用文本方式打开,也可以采用二进制方式打开 正确答案 D文件就在那里,二进制或文本方式打开只是对其不同的程序理解。101 分#0032003700380032003300331588487697449二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],哪个选项能获取其中元素5?Als[-1][-1]Bls[-2][-1]Cls[1][1]Dls[4] 正确答案 C这是二维切片的使用方式。文本的平均列数描述打印输出附件文件的平均列数,计算方法如下:(1)有效行指包含至少一个字符的行,不计算空行;(2)每行的列数为其有效字符数;(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位。输入输出示例仅给出输出格式示例,非正确答案。输入输出示例 1无123f=open("latex.log") tot=0 line=0 for i in f: i=i.strip(" ") if(i==""): continue tot+=len(i) line+=1 print(round(tot/line))3300331588487722709CSV格式清洗与转换描述附件是一个CSV格式文件,提取数据进行如下格式转换:(1)按行进行倒序排列;(2)每行数据倒序排列;(3)使用分号(;)代替逗号(,)分割数据,无空格;按照上述要求转换后将数据输出。 输入输出示例以下是一个格式示例,不是最终结果。输入输出示例 1(以下内容在文件中) 1,2,3 4,5,6 7,8,99;8;7 6;5;4 3;2;1f=open("data.csv") line=f.readlines() line.reverse() for i in line: i=i.replace(' ','') i=i.replace(' ','') a=i.split(",") a.reverse() print(";".join(a))测验8: 程序设计方法学 (第8周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487748593关于Python的os库,以下选项描述正确的是:Aos库是一个第三方库,需要安装后使用Bos库仅适用于Windows平台Cos库提供了几十个函数,功能比较有限Dos库提供了路径操作、进程管理等若干类功能 正确答案 Dos库是Python重要的标准库之一,提供了几百个函数功能,覆盖与操作系统、文件操作等相关的众多功能。os库适合所有操作系统。21 分#0032003700380032003300331588487748594关于软件产品和程序的区别,以下描述正确的是:A软件产品=程序功能+用户体验B软件程序就是软件产品C从程序功能到软件产品的产品化代价很小D软件产品=程序功能+速度优化 正确答案 A产品不仅需要功能,更需要更好的用户体验。往往,产品都需要综合考虑技术功能和人文设计,这源于产品的商业特性。即,商业竞争要求产品不能只关心技术功能,更要关心用户易用和喜好需求。31 分#0032003700380032003300331588487748596自顶向下设计主要由下列哪个语法元素实现?A对象B循环结构C过程D函数 正确答案 D函数是自顶向下设计的关键元素,通过定义函数及其参数逐层开展程序设计。41 分#0032003700380032003300331588487748598关于Python第三方库安装方法,以下选项描述错误的是:A使用pip命令B访问UCI网站下载安装文件C使用集成安装工具D联系第三方库作者索要安装文件 正确答案 D请不要联系作者索要第三方库,这不是获取第三方库的合理模式。51 分#0032003700380032003300331588487748599关于用户体验,以下选项描述正确的是:A用户体验不重要,只要有程序功能即可B编程只是手段,程序最终为人类服务,用户体验很重要C用户体验是客观的,完全可以靠技术来实现D好产品不一定有好的用户体验,关键在于功能创意 正确答案 B一个提醒进度的进度条、一个永不抛出异常的程序、一个快速的响应、一个漂亮的图标、一个合适尺寸的界面等都是用户体验的组成部分。总的来说,用户体验是一切能够提升程序用户感受的组成。61 分#0032003700380032003300331588487748600关于计算思维,以下选项描述正确的是:A计算思维是逻辑思维的演进B计算思维关于设计和构造,可以脱离计算机而存在C计算思维是基于计算机的思维模式D计算思维从古至今一直存在 正确答案 C计算思维是基于计算机的思维模式,计算机出现之前,由于没有快速计算装置,计算所反映的思维模式主要是数学思维,即通过公式来求解问题。当快速计算装置出现后,计算思维才真正形成。71 分#0032003700380032003300331588487748602以下选项关于计算生态描述错误的是:A计算生态类似自然生态,不受单一组织或人物的控制,形成了技术演化路径B高质量计算生态需要顶层设计的参与才能保障C计算生态主要以开源项目为组织形式D计算生态存在竞争发展、相互依存和迅速更迭的特点 正确答案 B计算生态以竞争发展、相互依存和迅速更迭为特点,在开源项目间不存在顶层设计,以类自然界"适者生存"的方式形成技术演进路径。81 分#0032003700380032003300331588487748604关于os.path子库,以下选项中用来计算相对路径的函数是:Aos.path.abspath(path)Bos.path.normpath(path)Cos.path.basename(path)Dos.path.relpath(path) 正确答案 D顾名思义:os.path.relpath(path) 是 relative path处理函数。91 分#0032003700380032003300331588487748605以下选项对计算思维本质描述正确的是:A描述和执行B抽象和自动化C抽象和执行D计算和思维 正确答案 B计算思维的本质是:抽象和自动化。抽象一个运算过程,以能够按步骤描述为目标;并利用计算机运算的高速特性自动化执行。101 分#0032003700380032003300331588487748607关于os库,以下选项中可以启动进程执行程序的函数是:Aos.run()Bos.system()Cos.process()Dos.start() 正确答案 B除了os.system(),选项其他函数都不存在。3300331588487768232英文字符的鲁棒输入描述获得用户的任何可能输入,将其中的英文字符进行打印输出,程序不出现错误。输入输出示例输入输出示例 1*&^123abc0eabcechars = set() for i in range(26): chars.add(chr(ord('a') + i)) chars.add(chr(ord('A') + i)) s = input() for i in s: if i in chars: print(i, end='')588487790237数字的鲁棒输入描述获得用户输入的一个数字,可能是浮点数或复数,如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。要求:(1)无论用户输入何种内容,程序无错误;(2)如果输入有误,请输出"输入有误"。输入输出示例输入输出示例 11+2j(-3+4j)示例2abd输入有误s = input() try: if complex(s) == complex(eval(s)): print(eval(s)**2) except: print("输入有误")测验9: Python计算生态纵览 (第9周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487817290以下选项不是Python网络应用开发方向第三方库的是:AWeRobotBMyQRCaipDnumpy 正确答案 Dnumpy是多维度数据处理第三方库。21 分#0032003700380032003300331588487817292以下选项不是Python Web信息提取方向第三方库的是:AwxPythonBBeautiful SoupCReDPython-Goose 正确答案 AwxPython是GUI第三方库。31 分#0032003700380032003300331588487817293以下选项不是Python数据分析方向第三方库是:AScrapyBPandasCSciPyDNumpy 正确答案 AScrapy是网络爬虫库41 分#0032003700380032003300331588487817294以下选项不是Python网站开发框架方向第三方库的是:APyramidBFlaskCredis-pyDDjango 正确答案 Credis-py是redis数据的Python访问接口。51 分#0032003700380032003300331588487817296以下选项不是Python网络爬虫方向第三方库的是:ApyspiderBRequestsCPython-GooseDScrapy 正确答案 CPython-Goose是Web提取第三方库。61 分#0032003700380032003300331588487817297以下选项不是Python数据可视化方向第三方库的是:AMayaviBSeabornCMatplotlibDPyramid 正确答案 DPyramid是Web开发框架库。71 分#0032003700380032003300331588487817298以下选项不是Python人工智能方向第三方库的是:AMXNetBSeabornCScikit-LearnDTensorFlow 正确答案 BSeaborn是数据可视化第三方库。81 分#0032003700380032003300331588487817299以下选项不是Python图形用户界面方向第三方库的是:APyQt5BwxPythonCVizardDPyGObject 正确答案 CVizard是虚拟现实第三方库。91 分#0032003700380032003300331588487817303以下选项不是Python文本处理方向第三方库的是:ANLTKBpyovrCpython-docxDPyPDF2 正确答案 Bpyovr是增强现实开发库。101 分#0032003700380032003300331588487817307以下选项不是Python游戏开发方向第三方库的是:AaipBPyGameCPanda3DDcocos2d 正确答案 Aaip是baidu的人工智能功能Python访问接口。300331588487827187系统基本信息获取描述获取系统的递归深度、当前执行文件路径、系统最大UNICODE编码值等3个信息,并打印输出。输出格式如下:RECLIMIT:<深度>, EXEPATH:<文件路径>, UNICODE:<最大编码值>提示:请在sys标准库中寻找上述功能。输入输出示例这里仅是格式参考,非正确答案,请注意,输出中每个逗号(,)后面都有一个空格。输入输出示例 1无RECLIMIT:500, EXEPATH:/bin/python, UNICODE:1411import sys print("RECLIMIT:{}, EXEPATH:{}, UNICODE:{}".format(sys.getrecursionlimit(), sys.executable, sys.maxunicode))2003300331588487839986二维数据表格输出描述tabulate能够对二维数据进行表格输出,是Python优秀的第三方计算生态。参考编程模板中给定的数据和代码,编写程序,能够输出如下风格效果的表格数据。输入输出示例输入输出示例 1参考编程模板如题干图data = [ ["北京理工大学", "985", 2000], ["清华大学", "985", 3000], ["大连理工大学", "985", 4000], ["深圳大学", "211", 2000], ["沈阳大学", "省本", 2000], ] from tabulate import tabulate print(tabulate(data, tablefmt='grid'))期末测验: 课程水平综合测验 (第10周)无空隙回声输出描述获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出。 输入输出示例输入输出示例 1Alice + BobAlice+Bobs=input() s=s.replace(' ','') print(s)文件关键行数描述关键行指一个文件中包含的不重复行。关键行数指一个文件中包含的不重复行的数量。统计附件文件中与关键行的数量。输入输出示例此处仅示例输出格式。输入输出示例 1共99关键行s=set() num=0 f=open('latex.log','r') lines=f.readlines() for line in lines: if(line not in s): s.add(line) num+=1 print('共{}关键行'.format(num))字典翻转输出描述读入一个字典类型的字符串,反转其中键值对输出。即,读入字典key:value模式,输出value:key模式。输入格式用户输入的字典格式的字符串,如果输入不正确,提示:输入错误。输出格式给定字典d,按照print(d)方式输出输入输出示例输入输出示例 1{"a": 1, "b": 2}{1: 'a', 2: 'b'}s=input() try: s=eval(s) dic=dict(zip(s.values(),s.keys())) print(dic) except: print("输入错误")80032003300331588487911994《沉默的羔羊》之最多单词描述附件是《沉默的羔羊》中文版内容,请读入内容,分词后输出长度大于2且最多的单词。如果存在多个单词出现频率一致,请输出按照Unicode排序后最大的单词。输入格式文件输出格式字符串输入输出示例仅提供一个输出示范样例。输入输出示例 1无羔羊import jieba f=open('沉默的羔羊.txt','r',encoding='utf-8') sp=f.read() words=jieba.lcut(sp) lis={} for word in words: if(len(word)>=2): lis[word]=lis.get(word,0)+1 count=list(lis.items()) count.sort(key=lambda x:x[1],reverse=True) print(count[0][0])
2020年05月03日
1,883 阅读
0 评论
0 点赞
2020-05-03
中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)
感谢中国大学MOOC提供的学习平台,以下内容皆为自己测试的记录测验1: Python基本语法元素 (第1周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588486939470Guido van Rossum正式对外发布Python版本的年份是:A2008B1991C1998D2002 正确答案 BPython成功了,所以早年的开发历史也受到关注,以下是Guido自述的启动阶段时间表:"December, 1989 Implementation started1990 Internal releases at CWIFebruary 20, 1991 0.9.0 (released to alt.sources)February, 1991 0.9.1"鉴于Internal release不算对外发布,普遍认为Python语言诞生于1991年。21 分#0032003700380032003300331588486939473以下关于Python语言中“缩进”说法正确的是:A缩进在程序中长度统一且强制使用B缩进统一为4个空格C缩进是非强制的,仅为了提高代码可读性D缩进可以用在任何语句之后,表示语句间的包含关系 正确答案 APython语言的缩进只要统一即可,不一定是4个空格(尽管这是惯例)。31 分#0032003700380032003300331588486939475以下不属于IPO模型的是:AInputBProcessCProgramDOutput 正确答案 CIPO:Input Process Output41 分#0032003700380032003300331588486939476字符串是一个字符序列,给字符串s,以下表示s从右侧向左第三个字符的是:As[3]Bs[0:-3]Cs[:-3]Ds[-3] 正确答案 D字符串有正向递增和反向递减两套序号体系51 分#0032003700380032003300331588486939479以下不是Python语言合法命名的是:AMyGodBMyGod5C5MyGodD_MyGod_ 正确答案 C合法命名的首字符不能是数字。61 分#0032003700380032003300331588486939481在Python中,用于获取用户输入的函数是:Aeval()Bprint()Cget()Dinput() 正确答案 Dget()不是Python内置函数,获得用户输入只有一种方式:input()。71 分#0032003700380032003300331588486939483下面不属于Python保留字的是:AtypeBimportCelifDdef 正确答案 Atype不是Python保留字,而是内置函数 type()。81 分#0032003700380032003300331588486939484以下不是Python数据类型的是:A字符串B实数C整数D列表 正确答案 B实数是数学中的概念,在Python中对应浮点数。91 分#0032003700380032003300331588486939486哪个选项给出的保留字不直接用于表示分支结构?AelifBinCelseDif 正确答案 Bif-elif-else是分支表达,in用来进行成员判断。101 分#0032003700380032003300331588486939488利用print()格式化输出,哪个选项用于控制浮点数的小数点后两位输出?A{:.2f}B{:.2}C{.2}D{.2f} 正确答案 A:.2f 哪一个都不能少300331588487018712Hello World的条件输出描述获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:如果输入值是0,直接输出"Hello World"如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符)如果输入值小于0,以垂直方式输出"Hello World" 输入输出示例输入输出示例 10Hello Worlda = int(input()) hi = 'Hello World' if a == 0: print(hi) elif a > 0: for i in range(0, len(hi)-1, 2): print(hi[i], hi[i + 1]) print('d') else: for i in hi: print(i)03300331588487042308数值运算描述获得用户输入的一个字符串,格式如下:M OP N其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)根据OP,输出M OP N的运算结果,统一保存小数点后2位。注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。输入输出示例输入输出示例 110 + 100 1 / 20110.00 0.05a = input() print('{:.2f}'.format(eval(a)))测验2: Python基本图形绘制 (第2周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487104032哪个选项不能正确引用turtle库进而使用setup()函数?Aimport setup from turtleBimport turtle as tCfrom turtle import*Dimport turtle 正确答案 Aimport只有三种使用方法,以turtle库为例:import turtlefrom turtle import setup 或 from turtle import *import turtle as t (其中t是别名,可以更换其他名称)21 分#0032003700380032003300331588487104034关于turtle库,哪个选项的描述是错误的?Aturtle坐标系的原点默认在屏幕左上角Bturtle库最早成功应用于LOGO编程语言Cturtle绘图体系以水平右侧为绝对方位的0度Dturtle库是一个直观有趣的图形绘制函数库 正确答案 Aturtle坐标系的原点默认在窗体正中间31 分#0032003700380032003300331588487104038哪个选项是turtle绘图中角度坐标系的绝对0度方向?A画布正左方B画布正下方C画布正右方D画布正上方 正确答案 C坐标系类似这样,角度坐标系的绝对0度方向是右侧 41 分#0032003700380032003300331588487104041哪个选项是下面代码的执行结果?turtle.circle(-90,90)A绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧B绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧C绘制一个半径为90像素的弧形,圆心在画布正中心D绘制一个半径为90像素的整圆形 正确答案 Bcircle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。51 分#0032003700380032003300331588487104043关于turtle库绘图函数,哪个选项的描述是错误的?Aturtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值Bturtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离Cturtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选Dturtle.pensize(size)函数的作用是改变画笔的宽度为size像素 正确答案 Ccircle()函数不能绘制椭圆形。61 分#0032003700380032003300331588487104044关于turtle库的画笔控制函数,哪个选项的描述是错误的?Aturtle.width()和turtle.pensize()都可以用来设置画笔尺寸Bturtle.pendown()作用是落下画笔,并移动画笔绘制一个点Cturtle.penup()的别名有turtle.pu(),turtle.up()Dturtle.colormode()的作用是设置画笔RGB颜色的表示模式 正确答案 Bturtle.pendown()只是放下画笔,并不绘制任何内容。71 分#0032003700380032003300331588487104046哪个选项不能改变turtle画笔的运行方向?Aright()Bseth()Cbk()Dleft() 正确答案 Cbk()只能后退,但不改变方向,"后退"不是"转向"。81 分#0032003700380032003300331588487104049哪个选项所列保留字能够实现对一组语句的循环执行?Aif和elseBwhile和defCfor和inDrange() 正确答案 C循环相关保留字是:for..in和while,但def用于定义函数,不相关。91 分#0032003700380032003300331588487104050哪个选项能够使用turtle库绘制一个半圆形?Aturtle.circle(100, 90)Bturtle.circle(100)Cturtle.fd(100)Dturtle.circle(100, -180) 正确答案 Dcircle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。101 分#0032003700380032003300331588487104052哪个选项对turtle.done()的描述是正确的?Aturtle.done()用来隐藏turtle绘制画笔,一般放在代码最后Bturtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制Cturtle.done()用来停止画笔绘制,但绘图窗体不关闭Dturtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成 正确答案 C建议在每个turtle绘图最后增加turtle.done()。3300331588487136939turtle八边形绘制 描述使用turtle库,绘制一个八边形。注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。输出示例八边形效果如下:#请在横线中填写Python表达式或语句,实现所需要的功能 #注意:补充代码将以匹配方式评阅,代码中不要出现空格 import turtle as t t.pensize(2) for i in range(8): t.fd(100) t.left(45)turtle八角图形绘制 描述使用turtle库,绘制一个八角图形。注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。 输出示例八角图形效果如下:#请在横线中填写Python表达式或语句,实现所需要的功能 #注意:补充代码将以匹配方式评阅,代码中不要出现空格 import turtle as t t.pensize(2) for i in range(8): t.fd(150) t.left(135)测验3: 基本数据类型 (第3周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487176741pow(x, 0.5)能够计算x的平方根,计算负数的平方根将产生:A复数B无输出C程序崩溃DValueError错误 正确答案 A>>> pow(-1, 0.5)(6.123233995736766e-17+1j)21 分#0032003700380032003300331588487176743以下关于字符串.strip()方法功能说明正确的是:A去掉字符串两侧指定字符B按照指定字符分割字符串为数组C连接两个字符串序列D替换字符串中特定字符 正确答案 A"去掉字符串两侧指定字符"对应功能是.strip()"按照指定字符分割字符串为数组"对应功能是.split()"替换字符串中特定字符"对应功能是.replace()"连接两个字符串序列"对应功能是+操作符31 分#0032003700380032003300331588487176745字符串是一个连续的字符序列,哪个选项可以实现打印字符信息的换行?A使用“换行”B使用空格C使用转义符\D使用 正确答案 D换行符 ,与C语言中一致。41 分#0032003700380032003300331588487176746val=pow(2,1000),请用一行代码返回val结果的长度值。Alen(str(val))B以后均不正确Clen(val)Dlen(pow(2,1000)) 正确答案 Alen(str(val))首先通过str(val)将数字类型val变成字符串,再通过len()获得字符串长度,即val的数字个数。51 分#0032003700380032003300331588487176747下面关于time库引用不正确的是?Afrom * import timeBimport timeCfrom time import strftimeDfrom time import * 正确答案 Afrom * import time 应该是: from time import *61 分#0032003700380032003300331588487176749哪个选项不是Python语言的整数类型?A0B1010B88C0E99D0x9a 正确答案 C十进制:一般表示二进制:0b 或 0B 开头八进制:0o 或 0O 开头十六进制:0x 或 0X 开头没有0E开头71 分#0032003700380032003300331588487176751关于整数类型的4种进制表示,哪个选项的描述是正确的?A二进制、四进制、八进制、十进制B二进制、四进制、十进制、十六进制C二进制、四进制、八进制、十六进制D二进制、八进制、十进制、十六进制 正确答案 DPython不支持四进制整数81 分#0032003700380032003300331588487176752哪个选项是Python语言%运算符的含义?Ax与y之商的余数Bx与y的整数商Cx与y之商Dx的y次幂 正确答案 A%是取余数,与C语言相同。91 分#0032003700380032003300331588487176753哪个选项是下面代码的执行结果?name="Python语言程序设计课程"print(name[0],name[2:-2],name[-1]) AP thon语言程序设计课 程BP thon语言程序设计 程CP thon语言程序设计课 课DP thon语言程序设计 课 正确答案 Bs[N:M]表示对字符串s的切片操作,从N到M,但不包含M101 分#0032003700380032003300331588487176754哪个选项是下面代码的执行结果?s='PYTHON'print("{0:3}".format(s))APYTHONB PYTHONCPYTDPYTH 正确答案 A{0:3}表示输出的宽度是3,但如果字符串超过长度3,则以字符串长度显示。平方根格式化描述获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。如果结果超过30个字符,则以结果宽度为准。 输入输出示例输入输出示例 110+++++++++++++++++++++++++3.162num = int(input()) result = pow(num, 0.5) print("{:+>30.3f}".format(result))字符串分段组合描述获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。 输入输出示例输入输出示例 1Alice-Bob-Charis-David-Eric-FlurryAlice+Flurrya = input() result = a.split('-') print(f'{result[0]}+{result[-1]}')测验4: 程序的控制结构 (第4周)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487349438for var in ___: print(var)哪个选项不符合上述程序空白处的语法要求?A{1;2;3;4;5}B(1,2,3)C"Hello"Drange(0,10) 正确答案 Afor .. in .. 中 in 的后面需要是一个迭代类型(组合类型),{1;2;3;4;5}不是Python的有效数据类型。21 分#0032003700380032003300331588487349440for i in range(0,2): print(i)哪个选项是以上程序的输出结果?A1B0 1 2C1 2D0 1 正确答案 Drange(0, 2)输出两个值:0和1。31 分#0032003700380032003300331588487349442k=10000while k>1: print(k) k=k/2哪个选项给出了上述程序的输出次数?A15B14C1000D13 正确答案 B请跟随程序计算或在IDLE中运行程序获得结果。41 分#0032003700380032003300331588487349444哪个选项是程序的三种基本结构?A过程结构,对象结构,函数结构B顺序结构,跳转结构,循环结构C顺序结构,循环结构,分支结构D过程结构,循环结构,分支结构 正确答案 C无对象结构、跳转结构、过程结构等说法。51 分#0032003700380032003300331588487349446哪个选项关于循环结构的描述是错误的?A循环是一种程序的基本控制结构B条件循环和遍历循环结构都是基本的循环结构C循环是程序根据条件判断结果向后反复执行的一种运行方式D死循环无法退出,没有任何作用 正确答案 D死循环能够用于测试性能,形式上的死循环可以用break来退出,例如:x = 10while True: x = x - 1 if x == 1: break死循环是有其作用的。61 分#0032003700380032003300331588487349449关于Python语句P=-P,哪个选项的描述是正确的?A给P赋值为它的负数BP的绝对值CP=0DP等于它的负数 正确答案 APython中的=是赋值符号,==是判断相等性的等于符号。71 分#0032003700380032003300331588487349450哪个选项是用来判断当前Python语句在分支结构中?A缩进B大括号C引号D冒号 正确答案 A缩进表达层次关系。81 分#0032003700380032003300331588487349452哪个选项是下面代码的执行结果?for s in "PYTHON": if s=="T": continue print(s,end="")APYHONBTTCPYTHONDPY 正确答案 Acontinue结束当次循环,但不跳出当前循环。91 分#0032003700380032003300331588487349453哪个选项是random库中用于生成随机小数的函数?Arandrange()Brandom()Crandint()Dgetrandbits() 正确答案 Brandint()、getrandbits()、randrange()都产生随机整数,random()产生0到1之间的随机小数。101 分#0032003700380032003300331588487349455关于try-except,哪个选项的描述是错误的?ANameError是一种异常类型B表达了一种分支结构的特点C使用了异常处理,程序将不会再出错D用于对程序的异常进行捕捉和处理 正确答案 C使用了异常处理,程序可能运行不会出错,但逻辑上可能出错。程序错误是一个大概念,不仅指代码运行错误,更代表功能逻辑错误。四位玫瑰数描述四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。输入输出示例输出仅表示格式,不表示对错。输入输出示例 1无1111 2222 3333for i in range(1000, 10000): t = str(i) if pow(eval(t[0]),4) + pow(eval(t[1]),4) + pow(eval(t[2]),4)+ pow(eval(t[3]),4) == i : print(i)100以内素数之和描述求100以内所有素数之和并输出。素数指从大于1,且仅能被1和自己整除的整数。提示:可以逐一判断100以内每个数是否为素数,然后求和。输入格式 该题目没有输入输入输出示例输入输出示例 11234(这是示例,不是真实输出)result = 0 for i in range(2,101): if i%2==0 and i!=2: continue sign = True for j in range(2,i): if i%j==0: sign =False break if sign: result+=i print(result)单项选择题点击选项选择正确答案,每题有且仅有一个正确答案11 分#0032003700380032003300331588487401105以下选项不是函数作用的是:A提高代码执行速度B降低编程复杂度C复用代码D增强代码可读性 正确答案 A函数不能直接提高代码执行速度。21 分#0032003700380032003300331588487401107下列程序的输出结果为:def f(a,b): a=4 return a+bdef main(): a=5 b=6 print(f(a,b),a+b)main()A11 11B11 10C10 10D10 11 正确答案 D这里没有全局变量,都是函数局部变量的运算。31 分#0032003700380032003300331588487401108以下关于Python函数说法错误的是:def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+aA执行该函数后,变量b的值为100B该函数名称为funcC执行该函数后,变量c的值为200D执行该函数后,变量a的值为10 正确答案 C这里没有全局变量,请在IDLE中执行代码观察结果。41 分#0032003700380032003300331588487401110以下关于函数调用描述正确的是:A自定义函数调用前必须定义B函数在调用前不需要定义,拿来即用就好CPython内置函数调用前需要引用相应的库D函数和调用只能发生在同一个文件中 正确答案 A函数调用前必须已经存在函数定义,否则无法执行。Python内置函数直接使用,不需要引用任何模块。51 分#0032003700380032003300331588487401112以下关于模块化设计描述错误的是:A应尽可能合理划分功能块,功能块内部耦合度高B应尽可能合理划分功能块,功能块内部耦合度低C高耦合度的特点是复用较为困难D模块间关系尽可能简单,模块之间耦合度低 正确答案 B模块内高耦合、模块间低耦合。61 分#0032003700380032003300331588487401116以下对递归描述错误的是:A执行效率高B书写简单C一定要有基例D递归程序都可以有非递归编写方法 正确答案 A递归不提高程序执行效率。任何递归程序都可以通过堆栈或队列变成非递归程序(这是程序的高级应用)。71 分#0032003700380032003300331588487401117以下关于函数说法错误的是:A函数是一段具有特定功能的、可重用的语句组B函数可以看做是一段具有名字的子程序C函数通过函数名来调用D对函数的使用必须了解其内部实现原理 正确答案 D调用函数不需要知道函数内部实现原理,只需要知道调用方法(即接口)即可。81 分#0032003700380032003300331588487401120哪个选项对于函数的定义是错误的?Adef vfunc(a,*b):Bdef vfunc(a,b=2):Cdef vfunc(a,b):Ddef vfunc(*a,b): 正确答案 Ddef vfunc(*a, b) 是错误的定义:*a表示可变参数,可变参数只能放在函数参数的最后。91 分#0032003700380032003300331588487401121关于return语句,以下选项描述正确的是:A函数中最多只有一个return语句Breturn只能返回一个值C函数必须有一个return语句D函数可以没有return语句 正确答案 D函数可以包含0个或多个return语句101 分#0032003700380032003300331588487401123以下关于递归函数基例的说法错误的是:A每个递归函数都只能有一个基例B递归函数的基例不再进行递归C递归函数的基例决定递归的深度D递归函数必须有基例 正确答案 A每个递归函数至少存在一个基例,但可能存在多个基例。随机密码生成描述补充编程模板中代码,完成如下功能:以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。产生密码采用random.randint()函数。输入输出示例输入输出示例 13634 524 926#请在...补充代码 import random def genpwd(length): a = 10**(length-1) b = 10**length - 1 return "{}".format(random.randint(a, b)) length = eval(input()) random.seed(17) for i in range(3): print(genpwd(length))31588487431757连续质数计算描述补充编程模板中代码,完成如下功能:获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。 输入输出示例输入输出示例 11213,17,19,23,29# 请在...补充一行或多行代码 def prime(m): for i in range(2,m): if m % i == 0: return False return True n = eval(input()) a = int(n) a = a+1 if a < n else a count = 5 while count > 0: if prime(a): if count > 1: print(a, end=",") else: print(a, end="") count -= 1 a += 1
2020年05月03日
2,456 阅读
0 评论
0 点赞
2020-05-03
看了这些,你觉得你的隐私还安全吗?用python来保护你的隐私
不得不说,我感觉自己越来越有营销号的潜力了。前段时间在telegram上看到一个社工机器人,大概是这样的(查询了下自己QQ):虽然说查出来的信息比较老旧了,但至少还是有参考价值的,你以为这样就完了吗?你以为这样就没了么。。就国内来说,现在什么东西都需要实名认证,动不动就上传身份证照片,上传手持身份证,不上传还不给你用,但是有能力约束我们这些用户,能够约束到那些法外狂徒吗???网络无绝对,信息上传了,服务商那边有把握保存好你的信息吗,信息泄露事件屡出不穷,于是就有了网上这些信息交易,信息多了也就成了社工库了。以下问答来源于找法网:国家对于非法获取和贩卖公民个人信息的具体刑法是什么呢?最高人民法院、最高人民检察院 关于办理侵犯公民个人信息刑事案件适用法律若干问题的解释 为依法惩治侵犯公民个人信息犯罪活动,保护公民个人信息安全和合法权益,根据《中华人民共和国刑法》《中华人民共和国刑事诉讼法》的有关规定,现就办理此类刑事案件适用法律的若干问题解释如下: 第一条 刑法第二百五十三条之一规定的“公民个人信息”,是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息,包括姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹等。 第二条 违反法律、行政法规、部门规章有关公民个人信息保护的规定的,应当认定为刑法第二百五十三条之一规定的“违反国家有关规定”。 第三条 向特定人提供公民个人信息,以及通过信息网络或者其他途径发布公民个人信息的,应当认定为刑法第二百五十三条之一规定的“提供公民个人信息”。 未经被收集者同意,将合法收集的公民个人信息向他人提供的,属于刑法第二百五十三条之一规定的“提供公民个人信息”,但是经过处理无法识别特定个人且不能复原的除外。 第四条 违反国家有关规定,通过购买、收受、交换等方式获取公民个人信息,或者在履行职责、提供服务过程中收集公民个人信息的,属于刑法第二百五十三条之一第三款规定的“以其他方法非法获取公民个人信息”。 第五条 非法获取、出售或者提供公民个人信息,具有下列情形之一的,应当认定为刑法第二百五十三条之一规定的“情节严重”: (一)出售或者提供行踪轨迹信息,被他人用于犯罪的; (二)知道或者应当知道他人利用公民个人信息实施犯罪,向其出售或者提供的; (三)非法获取、出售或者提供行踪轨迹信息、通信内容、征信信息、财产信息五十条以上的; (四)非法获取、出售或者提供住宿信息、通信记录、健康生理信息、交易信息等其他可能影响人身、财产安全的公民个人信息五百条以上的; (五)非法获取、出售或者提供第三项、第四项规定以外的公民个人信息五千条以上的; (六)数量未达到第三项至第五项规定标准,但是按相应比例合计达到有关数量标准的; (七)违法所得五千元以上的; (八)将在履行职责或者提供服务过程中获得的公民个人信息出售或者提供给他人,数量或者数额达到第三项至第七项规定标准一半以上的; (九)曾因侵犯公民个人信息受过刑事处罚或者二年内受过行政处罚,又非法获取、出售或者提供公民个人信息的; (十)其他情节严重的情形。 实施前款规定的行为,具有下列情形之一的,应当认定为刑法第二百五十三条之一第一款规定的“情节特别严重”: (一)造成被害人死亡、重伤、精神失常或者被绑架等严重后果的; (二)造成重大经济损失或者恶劣社会影响的; (三)数量或者数额达到前款第三项至第八项规定标准十倍以上的; (四)其他情节特别严重的情形。 第六条 为合法经营活动而非法购买、收受本解释第五条第一款第三项、第四项规定以外的公民个人信息,具有下列情形之一的,应当认定为刑法第二百五十三条之一规定的“情节严重”: (一)利用非法购买、收受的公民个人信息获利五万元以上的; (二)曾因侵犯公民个人信息受过刑事处罚或者二年内受过行政处罚,又非法购买、收受公民个人信息的; (三)其他情节严重的情形。 实施前款规定的行为,将购买、收受的公民个人信息非法出售或者提供的,定罪量刑标准适用本解释第五条的规定。 第七条 单位犯刑法第二百五十三条之一规定之罪的,依照本解释规定的相应自然人犯罪的定罪量刑标准,对直接负责的主管人员和其他直接责任人员定罪处罚,并对单位判处罚金。 第八条 设立用于实施非法获取、出售或者提供公民个人信息违法犯罪活动的网站、通讯群组,情节严重的,应当依照刑法第二百八十七条之一的规定,以非法利用信息网络罪定罪处罚;同时构成侵犯公民个人信息罪的,依照侵犯公民个人信息罪定罪处罚。 第九条 网络服务提供者拒不履行法律、行政法规规定的信息网络安全管理义务,经监管部门责令采取改正措施而拒不改正,致使用户的公民个人信息泄露,造成严重后果的,应当依照刑法第二百八十六条之一的规定,以拒不履行信息网络安全管理义务罪定罪处罚。 第十条 实施侵犯公民个人信息犯罪,不属于“情节特别严重”,行为人系初犯,全部退赃,并确有悔罪表现的,可以认定为情节轻微,不起诉或者免予刑事处罚;确有必要判处刑罚的,应当从宽处罚。 第十一条 非法获取公民个人信息后又出售或者提供的,公民个人信息的条数不重复计算。 向不同单位或者个人分别出售、提供同一公民个人信息的,公民个人信息的条数累计计算。 对批量公民个人信息的条数,根据查获的数量直接认定,但是有证据证明信息不真实或者重复的除外。 第十二条 对于侵犯公民个人信息犯罪,应当综合考虑犯罪的危害程度、犯罪的违法所得数额以及被告人的前科情况、认罪悔罪态度等,依法判处罚金。罚金数额一般在违法所得的一倍以上五倍以下。 第十三条 本解释自2017年6月1日起施行。但是你有见过有关新闻关于泄露公民隐私信息被抓之类的吗(盘神除外)说了这么多,对于隐私泄露我们既然无法拒绝,那就学会享受吧,开个玩笑,应该是,既然服务商不能保证信息的安全,但是我们可以自己从根源出发,这里就目前经常要上传的身份证照片以及手持照片来说。学会打水印,这次上传需要用来干什么,直接满照片水印,当然前提是你不影响身份证上信息的清晰,现在这样的水印软件还是不少的,但是既然学了python何不自己写一个呢。说了这么久,总数进入正题了。给照片加水印,用代码实现, 是不是很厉害的样子。下面是python加水印的代码from PIL import Image, ImageFont, ImageDraw text = 'www.lanol.cn' text = input('请输入水印内容:') # 水印内容 image = Image.open('picture.jpg') # 打开要处理的图片 font = ImageFont.truetype('msyh.ttc', size=40) # 水印文字的字体及字体大小 new_img = Image.new('RGBA', (image.size[0] * 3, image.size[1] * 3), (0, 0, 0, 0)) # 将原图转为RGBA模式的图且放到新图 new_img.paste(image, image.size) font_len = len(text) rgba = new_img.convert('RGBA') shuiying = Image.new('RGBA', rgba.size, (255, 255, 255, 0)) # 造一个图片,用来装文字水印 image_draw = ImageDraw.Draw(shuiying) for i in range(0, rgba.size[0], font_len * 20 + 100): for j in range(0, rgba.size[1], 200): # 水印字体疏密 image_draw.text((i, j), text, font=font, fill=(255, 50, 50, 50)) # 生成半透明水印文字图片 fill可以调整水印字体颜色 text_overlay = shuiying.rotate(45) # 水印图片旋转45° result = Image.alpha_composite(rgba, text_overlay) # 将两张图片重叠 result = result.crop((image.size[0], image.size[1], image.size[0] * 2, image.size[1] * 2)).save( 'result.png') # 将结果图片裁剪,并保存为result.png使用说明:请将要处理的图片放在软件同一目录,且命名问picture.jpg,生成结果将是result.png原图:效果图:
2020年05月03日
1,035 阅读
0 评论
0 点赞
1
...
15
16
17
...
21