因此列表“ a”中的列表代表2位朋友。因为友谊通常同时起作用,所以我为此创建了list1和list2。当我测试我的函数时,它为这四个中的每一个都提供True作为返回值,但是只有第一个应该为True,我不明白为什么。 预先感谢。
def is_friend_with(name_person1, name_person2):
list1 = [name_person1, name_person2]
list2 = [name_person2, name_person1]
if list1 or list2 in a:
return True
else:
return False
print(is_friend_with("Lucas", "Emma") ) # true
print(is_friend_with("Lucas", "Kevin") ) # false
print(is_friend_with("Suzy", "Emma") ) # false
print(is_friend_with("Suzy", "Frank") ) # false
a = [['Marie', 'Lucas'], ['Lucas', 'Patsy'], ['Emma', 'Lucas'], ['Emma', 'Kevin'], ['Peter', 'Emma'], ['Peter', 'Lucas'], ['Peter', 'Julie'], ['Suzy', 'Tobias']]
答案 0 :(得分:1)
检查您的if
语句。当前正在检查list1
是否存在(它将始终存在)或list2
是否在a
中。 if语句应为if list1 in a or list2 in a:
这是完整的解决方案。
a = [['Marie', 'Lucas'], ['Lucas', 'Patsy'], ['Emma', 'Lucas'], ['Emma', 'Kevin'], ['Peter', 'Emma'], ['Peter', 'Lucas'], ['Peter', 'Julie'], ['Suzy', 'Tobias']]
def is_friend_with(name_person1, name_person2):
list1 = [name_person1, name_person2]
list2 = [name_person2, name_person1]
if list1 in a or list2 in a:
return True
else:
return False
print(is_friend_with("Lucas", "Emma") ) # true
print(is_friend_with("Lucas", "Kevin") ) # false
print(is_friend_with("Suzy", "Emma") ) # false
print(is_friend_with("Suzy", "Frank") ) # false