我正在尝试编写一个接受列表的函数,如果该函数按顺序包含数字0,0,7,则返回true。当我运行此代码时:
def prob11(abc):
if 7 and 0 and 0 not in abc:
return False
x = abc.index(0)
elif 7 and 0 and 0 in abc and abc[x + 1] == 0 and abc[x + 2] == 7:
return True
else:
return False
我收到此错误:
File "<ipython-input-12-e2879221a9bf>", line 5
elif 7 and 0 and 0 in abc and abc[x + 1] == 0 and abc[x + 2] == 7:
^
SyntaxError: invalid syntax
我的elif语句怎么了?
答案 0 :(得分:0)
您可以尝试一下,希望对您有所帮助。
def prob11(abc):
if 7 in abc and abc.count(0) >= 2:
return True
else:
return False
print(prob11([0, 0, 7]))
# print True
print(prob11([0, 0, 6]))
#print False
答案 1 :(得分:0)
我不确定这是否是解决问题的最好/最快的方法,但这对我有用:
in
您的代码无效,因为and
和all
不会那样工作。我不知道为什么。
因此,您需要使用
+----------+------+--------+-------+
| Location | year | group1 | Value |
函数。
+----------+------+--------+-------+
| a | 2020 | 1 | x |
| a | 2020 | 2 | y |
| a | 2020 | 3 | z |
| a | 2021 | 1 | x |
| a | 2021 | 2 | y |
| a | 2021 | 3 | z |
| b | 2020 | 1 | x |
| b | 2020 | 2 | y |
| b | 2020 | 3 | z |
+----------+------+--------+-------+