你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
def all(lis,num):
for v in lis:
if v!=num:
return False
return True
print(all([1,2,3],1))
print(all([1,1,1],2))
print(all([1,1,1],1))
题目限制条件太多,只允许使用列表的append和pop函数,以及内置函数len,其他不容许,不可用切片及下标索引,不能用in运算符,不能用列表之间==和+。解题思路是,对原列表元素逐个pop出来与整数比较,相等则添加到新列表,然后比较新旧列表长度判断列表中所有元素是否均是该整数组成。
可以这样写:
def all(lst,num):
if len(lst)==0:
return False
else:
new=[]
l=lst.copy()
while len(l)>0:
if l.pop()==num:
new.append(num)
if len(lst)==len(new):
return True
else:
return False
print(all([1,2,1],1))
print(all([1,1,1],1))
print(all([0,0,0,0],1))
print(all([],1))
运算结果:
F:\2021\qa\ot2>t3
False
True
False
False
如有帮助,点击我这个回答右上方的【采纳】按钮