有没有办法简化这个 if 语句:
if self[by1,bx1]=='A' or self[by1,bx1+1]=='A' or self[by1,bx1+2]=='A' or self[by1,bx1+3]=='A':
来自一个类,其中 self[y,x] 获取表中的数据。
原代码为:
for i in range(4):
if self[by1,bx1]=='A' or self[by1,bx1+1]=='A' or self[by1,bx1+2]=='A' or self[by1,bx1+3]=='A':
print('There is already a ship here')
by1=0
bx1=0
self.placing_Battleship_p1()
elif by1==0 or by1==0:
pass
else:
self[by1,bx1+i]='B'
我希望它在将它们更改为“B”之前检查我的表格的每个位置是否不等于“A”。
最佳答案
当然,您可以为此使用any
。这应该是等价的。
if any(self[by1,bx1+x]=='A' for x in range(4)):
关于python - 简化 if 语句 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653175/