171.函数main()接收两个可迭代对象iterable1和iterable2作为参数,要求检查是否iterable1中的所有元素都是iterable2的元素,如果是就返回True,否则返回False。如果参数iterable1或iterable2不是可迭代对象,返回字符串"参数必须为可选代对象。'删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(iterable1, iterable2):try:for i in iterable1:if i not in iterable2:return Falsereturn Trueexcept:return '参数必须为可迭代对象。'
172.阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以给。阿凡提说那就要点米吧,棋盘上一共n个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把n个格子都放满。问一共需要多少粒米。函数main()接收一个正整数参数n表示棋盘上小格子的数量,要求返回按照上面方法放满所有小格子需要的米的粒数。例如,main(3)返回7·main(7)返回127。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。不能导入任何模块,不能循环结构和任何形式的推导式。
def main(n):return pow(2,n)-1
173.函数main()接收一个任意类型参数obj,检查其是否为迭代器对象,是则返回True,否则返回False。所谓迭代器对象,是指同时具有特殊方法iter()和next()的对象,例如生成器对象、map对象、enumerate对象、zip对象等都是选代器对象。例如,main(enumerate('python'))返口True删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(obj):try:obj.__iter__()obj.__next__()return Trueexcept:return False
174.函数main()接收一个参数obj,如果参数obj不是字典就返回字符串"参数必须是字典。"如果obj是字典但是所有元素“值”的类型不一样就返回字符串"字典的值必须是同一种类型 。·,如果obj是字典并且所有元素“値”的类型一样就返回“値”最大的元素的“键”。例如main({'a':3,'b':5,'c':9})返回'c'。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(obj):if type(obj)!=dict:return '参数必须是字典。'if len(list(set(map(type, obj.values()))))!=1:return '字典的值必须是同一种类型。'ls = list(obj.items())ls.sort(key=lambda x:x[1], reverse=True)return ls[0][0]
175.函数main()接收一个字典data和一个集合user作为参数,参数data的每个元素的“键’是表示人名的字符串,每个元素的“值”是包含这个人看过并且喜欢的电影名称字符串的集合,参数user是包含某个人看过并且喜欢的电影名称字符串的集合。现在要求根据data的数据对user做推荐,也就是从data中找出一个和user不一样但是最像(看过的电影不完全-样,但是共同看过的电影数量比其他人多)的那个人,然后从那个人看过并且喜欢的电影名称中找出UNICODE编码最小的电影名称推荐给用户user。要求数main()返回一个2元组,其中第一个元素是与user不一样但是最像的人名字符串(也就是data中某个元素的键”),第二个元素是按照上面描述的算法推荐的电影名称字符串。例如,main({'user0': {'film9', 'film6', 'film3', 'film2', 'film8', 'film1'}, 'user1': {'film9', 'film6', 'film7', 'film5', 'film3', 'film8', 'film4', 'film1'}, 'user2': {'film5', 'film6', 'film3', 'film8'}, 'user3': {'film2', 'film6'}, 'user4': {'film9', 'film2', 'film8', 'film4', 'film1'}, 'user5': {'film6', 'film7', 'film5', 'film3', 'film2', 'film8'}, 'user6': {'film9', 'film6', 'film7', 'film3', 'film2', 'film8', 'film4', 'film1'}, 'user7': {'film9', 'film6', 'film5', 'film8', 'film4', 'film1'}, 'user8': {'film6', 'film4', 'film7'}, 'user9': {'film1', 'film2', 'film3'}}, {'film1', 'film2', 'film3'})返回('user0', 'film6')删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(data, user):ret = {}for key in data:ret[key] = ret.get(key,len(data[key]&user))ls = list(ret.items())ls.sort(key=lambda x:x[1], reverse=True)film = list(data[ls[0][0]]^user)film.sort()return ls[0][0], film[0]
176.函数main()接收一个包含若干字符串的列表参数comments,要求返回其中重复字数小于一半(也就是去除重复字之后还剩下原来字数的一半多)的字符串组成的新列表。例如·main(['好好好好好好’,'董付国老师写的教材真是不错’,'好书啊好书啊’])返回['董付国老师写的教材真是不错'1。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(comments):ret = []for i in comments:if len(set(i))>len(i)/2:ret.append(i)return ret
177.函数main()接收一个十进制整数num作为参数,要求返回num的八进制形式中6的个数。例如main(104719078)返回3,因为十进制数104719078的八进制形式为00617361346,其中包含3个6。删除下面代码中pass语句,替换为自己的代码,完成要求的功能。
def T2O(num):ret = ''while num>7:ret += str(num%8)num //= 8ret += str(num)return ret[::-1]def main(num):return T2O(num).count('6')
178.函数main()接收一个包含若干正整数的元组integers和一个正整数key作为参数,要求计算元组integers中每个正整数和正整数key进行异或运算之后结果组成的新元组。例如main((1235,86723,9823),33891)返回(32944,120480,41532)。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(integers, key):return tuple(map(lambda x:x^key, integers))
179.函数main()接收一个numpy数组arr作为参数,要求返回数组arr的维数,如果是一维数组就返回1,如果是二维数组就返回2,如果是三维数组就返回3,以此类推。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
import numpy as npdef main(arr):return arr.ndim
180.函数 main () 接收一个字符串参数 s,要求把其中的特殊符号替换为 HTML 实体,返回处理后的新字符串。例如 main ('<every good>') 返回 '<every good>',再例如 main ('© 版权所有:董付国 ') 返回 '© 版权所有:董付国 ',以及 main ('∠∅Δ♣∀') 返回 '∠∅δ♣∀'。删除下面代码中的 pass 语句,替换为自己的代码,完成要求的功能。
def main(s):sym_map = {'<': '<','>': '>','©': '©','∠': '∠','∅': '∅','δ': 'δ','♣': '♣','∀': '∀'}return ''.join([sym_map.get(char, char) for char in s])