2015-04-23 71 views
0

编写一个函数first_last6(nums),该函数接受一个ints nums列表,并返回True,如果6显示为列表中的第一个或最后一个元素。该列表将长度为1或更长。代码打印错误答案

我的代码:

def first_last6(nums): 
    if nums[0] or nums[-1] == "6": 
     return True 
    else: 
     return False 

它没有返回正确的答案这个测试:

print(first_last6([3, 2, 1])) 

其假设是False,而它打印True

+0

[为什么\'a == b或c或d \'总是评估为True?](http://stackoverflow.com/questions/20002503/why-does -ab-or-c-or-d-always-evaluate-to-true) – inspectorG4dget

+0

可能的重复[如何测试一个变量与多个值?](http://stackoverflow.com/questions/15112125/how- do-i-test-one-variable-against-multiple-values) – Blckknght

回答

0

原始测试检查是否NUMS [0]为真,或者如果NUMS [-1]是6,以检查是否任一为6,应该使用:

如果NUMS [0] == 6或NUMS [ -1] == 6:

+0

还要确保它是6而不是像NeilZ答案中的“6” – jwillis0720