python - 简化 if 语句 Python

标签 python if-statement

有没有办法简化这个 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/

相关文章:

python - 递归到迭代 - AVL 树 - isBalanced

python - 有条件地写入不同的输出文件

comparison - 充分使用 'if'语句或 'try/catch' block ?

android - 由于空白的EditText,应用反复崩溃

python - 主要问题: Dropdown switcher in Mezzanine uses default settings of main site when logged in

python - 如何在 Django 休息 View 中使用 login_required

python - 使用 Python 请求进行 ASP.NET 身份验证

python - 使用 pybarcode ImageWriter 和 docx 模块将条形码图像附加到 docx 文件

java - 决策表或 if-else 语句

ios - 如何从函数内部更改全局变量的值?