171.函数main()接收两个可迭代对象iterable1和iterable2作为参数,要求检查是否iterable1中的所有元素都是iterable2的元素,如果是就返回True,否则返回False。如果参数iterable1或iterable2不是可迭代对象,返回字符串’参数必须为可选代对象。'。
删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(iterable1, iterable2):
try:
iter(iterable1)
iter(iterable2)
except:
return '参数必须为可迭代对象。'
for i in iterable1:
if i not in iterable2:
return False
return True
172.阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以给。阿凡提说那就要点米吧,棋盘上一共n个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把n个格子都放满。问一共需要多少粒米。函数main()接收一个正整数参数n表示棋盘上小格子的数量,要求返回按照上面方法放满所有小格子需要的米的粒数。例如,main(3)返回7·main(7)返回127。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。不能导入任何模块,不能循环结构和任何形式的推导式。
def main(n):
return 2**n 1
173.函数main()接收一个任意类型参数obj,检查其是否为迭代器对象,是则返回True,否则返回False。所谓迭代器对象,是指同时具有特殊方法iter()和next()的对象,例如生成器对象、map对象、enumerate对象、zip对象等都是选代器对象。例如,main(enumerate(‘python’))返口True删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(obj):
return hasattr(obj,'__iter__') and hasattr(obj,'__next__')
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 '字典的值必须是同一种类型。'
return max(obj,key=obj.get)
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([‘好好好好好好’,‘董付国老师写的教材真是不错’,‘好书啊好书啊’])返回[‘董付国老师写的教材真是不错’]。
删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(comments):
ret = []
for i in comments:
if len(i)<2*len(set(i)):
ret.append(i)
return ret
177.函数main()接收一个十进制整数num作为参数,要求返回num的八进制形式中6的个数。例如main(104719078)返回3,因为十进制数104719078的八进制形式为00617361346,其中包含3个6。
删除下面代码中pass语句,替换为自己的代码,完成要求的功能。
def main(num):
return oct(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 np
def main(arr):
return arr.ndim
180.函数main()接收一个字符串参数s,要求把其中的特殊符号替换为HTML实体,返回处理后的新字符串。
例如main(‘’)返回’',
再例如main(‘© 版权所有:董付国 ‘)返回’© 版权所有:董付国’,
以及main(‘∠∅Δ♣∀’)返回’∠∅δ♣∀’。
删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(s):
adict = {'<': '<','>': '>','©': '©','∠': '∠','∅': '∅','δ': 'δ','♣': '♣','∀': '∀'}
return ''.join([adict.get(a, a) for a in s])



