【发布时间】:2018-04-26 16:39:18
【问题描述】:
问题:
编写一个程序,它会在列表中搜索以查看列表中的最后一个值是否出现 不止一次。如果最后一个值出现不止一次,则返回 true。否则,返回假。如果列表是 为空,返回 false。
我的代码:
def go(list1):
for i in range(0,len(list1)):
if list1[i] is list1[-1:]:
return True
else:
return False
print ( go( [-99,1,2,3,4,5,6,7,8,9,10,5] ) )
print ( go( [10,9,8,7,6,5,4,3,2,1,9] ) )
print ( go( [10,20,30,40,50,-11818,40,30,20,10] ) )
print ( go( [32767] ) )
print ( go( [7,7,7,7] ) )
print ( go( [9,10,-88,100,-555,1000] ) )
print ( go( [10,10,10,11,456,10,10] ) )
print ( go( [-111,1,2,3,9,11,20,30] ) )
print ( go( [9,8,7,6,5,4,3,2,0,-2,9,9] ) )
print ( go( [12,15,18,21,23,1000] ) )
print ( go( [250,19,17,15,13,11,10,9,6,3,2,1,250] ) )
print ( go( [] ) )
我的输出:
False
False
False
False
False
False
False
False
False
False
False
False
期望的输出:
True
True
True
False
True
False
True
False
True
False
True
False
我做错了什么?为什么我的所有输出都为 False?
【问题讨论】:
-
使用
==代替is来检查是否相等 -
请不要在 cmets 中回答。如果您有问题的答案,请将其作为答案发布。
-
顺便说一句,
go是该函数的 可怕 名称。