171. 函数 main() 接收两个可迭代对象 iterable1 和 iterable2 作为参数,要求检查是否 iterable1 中的所有元素都是 iterable2 的元素,如果是就返回 True,否则返回 False。如果参数 iterable1 或 iterable2 不是可迭代对象,返回字符串'参数必须为可迭代对象。'。
请补全以下代码实现功能:
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。请补全以下代码实现功能。不能导入任何模块,不能循环结构和任何形式的推导式。
def main(n):
return 2**n - 1
173. 函数 main() 接收一个任意类型参数 obj,检查其是否为迭代器对象,是则返回 True,否则返回 False。所谓迭代器对象,是指同时具有特殊方法 iter() 和 next() 的对象,例如生成器对象、map 对象、enumerate 对象、zip 对象等都是迭代器对象。例如,main(enumerate('python')) 返回 True。
请补全以下代码实现功能:
def ():
(obj, ) (obj, )

